Open Rudedog9d opened 7 years ago
This is also preventing mishegos, which fuzzes this project, from upgrading its environment: https://github.com/trailofbits/mishegos/pull/1606#discussion_r1041222217
A second pull request that fixes this, in what's imo a less elegant way, is at https://github.com/vmt/udis86/pull/132/commits/9c11d83f848709b8f5414d17f8f909a4d77aa9c3. A third pull request that fixes this is in https://github.com/vmt/udis86/pull/139. That, imo, is the most elegant of the three, getting rid of the unnecessarily floating point numbers at the root of the issue. I confirm it's correct and complete.
There is a TypeError Raised by the following code in
ud_opcode.py
when run in Python 3.5:TypeError: %x format: an integer is required, not float
Purposed fix: Typecast the float
k
to an integer. (self.log("%s |-<%02x> %s" % (indent, int(k), e))
)Would this cause problems? The built in function
k.hex()
could be used but this produces a string, which would then not be format-able.