You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I found in line 123, a variable has type number is casted to address(unsigned). ddisasm require enable 64bit domain when compiling souffle, so this casting will always make Offset_addr become a u64 address even when handling 32bit binary. For example, -1 will be converted into 18446744073709551615, while in 32bit mode it should be 4294967295.
Yihao
The text was updated successfully, but these errors were encountered:
This is not the only every places, every conversion from sign to unsigned number can cause overflow, if possible could you kindly check all datalog code base for pattern as\(.+,address\). I searched on repo there are a lot of possible overflow places. Thanks!
Hi:
When I am reading souffle code in src/datalog/value_analysis.dl.
I found in line 123, a variable has type
number
is casted toaddress(unsigned)
. ddisasm require enable 64bit domain when compiling souffle, so this casting will always make Offset_addr become a u64 address even when handling 32bit binary. For example,-1
will be converted into18446744073709551615
, while in 32bit mode it should be4294967295
.Yihao
The text was updated successfully, but these errors were encountered: