== What steps will reproduce the problem?
GetFchunkAttr(ea, FUNCATTR_START);
there are two manifestations of this problem
first, when the function should return BADADDR, it returns -1 instead:
this happens when ea = an address outside of a function
second, when the function addess is >= 0x80000000, you get a negative value too.
one problem with that is that if you pass this value to a function like
GetFlags, idapython terminates the script with an error: overflowerror, arg1
type of ea_t
== What is the expected output? What do you see instead?
i expect to see a unsigned positive integer as result, as i get from
GetFunctionAttr(ea, FUNCATTR_START)
== What version of the product are you using? On what operating system?
the idapython that came with ida5.7
Please provide any additional information below.
the problem seems to be in Eval, which always returns a signed integer.
one way of fixing this would be to add the following to idc.py, in 'def Eval'
elif rv.vtype == '\x02': # long
return rv.num if rv.num>=0 else rv.num+0x100000000;
another way of fixing this would be to add a python+swig implementation of
GetFchunkAttr.
Original issue reported on code.google.com by willem.h...@gmail.com on 2 Jul 2010 at 2:52
Original issue reported on code.google.com by
willem.h...@gmail.com
on 2 Jul 2010 at 2:52