[klee-dev] One question about external dispatcher
Qiuping Yi
yiqiuping at gmail.com
Fri Jan 27 04:18:07 GMT 2017
Dear all,
I encountered a strange problem when testing the next code snippet:
1 if (pw = getpwuid(getuid()) == NULL)
2 return ;
3 .. = pw->pw_dir;
When handling line 1, KLEE firstly invokes *externalDispatcher->executeCall*
which will invoke *runProtectedCall* to execute the external function and
store
the result to a given memory location. Then, it will invoke *fromMemory* to
get the
return value from the location. However, it encounters an "out of bound"
error
when handling line 3. I printed the value of variable *pw* at line 1, and
got something like *139894903382656*, which definitely does not equal to '
*null*',
thus it will arrive line 3. Actually, *139894903382656* seems an invalid
address.
So why does this strange situation happen?
Thank you all in advance.
Best regards,
Qiuping Yi
Parasol Laboratory
Department of Computer Science and Engineering
Texas A&M University
College Station
TX 77843
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the klee-dev
mailing list