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
This program compares pointers, but does it indirectly using subtraction as an intermediate step.
I expect Symbiotic to answer consistently. However, Symbiotic's answer varies -- sometimes it is true, sometimes false(valid-memtrack) and sometimes unknown when slicing is enabled.
This could be because klee returns concrete addresses from malloc instead of symbolic ones. However, klee should be able to detect these two things:
the pointer comparison
the subtraction uses addresses of two different blocks, which is undefined in C (C11 6.5.6.9)
The text was updated successfully, but these errors were encountered:
lzaoral
added a commit
to lzaoral/klee
that referenced
this issue
Apr 20, 2021
Verifying memsafety of the following program using Symbiotic confuses klee:
This program compares pointers, but does it indirectly using subtraction as an intermediate step.
I expect Symbiotic to answer consistently. However, Symbiotic's answer varies -- sometimes it is
true
, sometimesfalse(valid-memtrack)
and sometimesunknown
when slicing is enabled.This could be because klee returns concrete addresses from malloc instead of symbolic ones. However, klee should be able to detect these two things:
The text was updated successfully, but these errors were encountered: