Verifying the function call sequence #551
Replies: 4 comments
-
Beta Was this translation helpful? Give feedback.
-
@keram88 Any thoughts? |
Beta Was this translation helpful? Give feedback.
-
Another example: #include <stdlib.h>
int foo() {
int i;
int* pi;
pi = &i;
pi += 12;
*pi = 0;
return 0;
}
int main() {
foo();
return 0;
} I messed up the return address (on stack) in foo, so returning to main will not be performed correctly and segmentation fault will be raised. |
Beta Was this translation helpful? Give feedback.
-
For this example, SMACK should be able to report an error with the flag |
Beta Was this translation helpful? Give feedback.
-
In the context of security and C programs, one could tamper with the call stack. Guided by Prof. Rakamaric (boogie-org/boogie#191), we @ya0guang @Gao-Chuan notice that model stack behaviors can be introduced in the Boogie files generated by SMACK.
However, it may be a non-trivial work and hope we could do some help if this can be a future feature in SMACK’s memory safety check.
Beta Was this translation helpful? Give feedback.
All reactions