-
Notifications
You must be signed in to change notification settings - Fork 273
[SV-COMP'18 13/19] Memcpy assertions #2002
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
"void CBMC_trace(int lvl, const char *event, ...);\n" | ||
|
||
// pointers | ||
"unsigned __CPROVER_POINTER_OBJECT(const void *p);\n" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Convention: I think these are usually __CPROVER_lowercase_name
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The above seems to have been re-introduced after it got moved out into cprover_builtin_headers.h
BTW, there's now __CPROVER_ssize_t! |
__CPROVER_POINTER_OFFSET(src) + n < __CPROVER_POINTER_OFFSET(dst) || | ||
__CPROVER_POINTER_OFFSET(dst) + n < __CPROVER_POINTER_OFFSET(src), | ||
"strcpy src/dst overlap"); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The precondition needs to be at the head of the function!
This appears SV-COMP'18 specific and not planned to be applied to the whole codebase (also flagged to not be merged and still requiring author cleanup, regression tests, etc.). If you believe this close is erroneous please reopen. |
@tautschnig is this still relevant for the current SV-COMPs? |
Do not merge: this needs cleanup and review as well as regression tests.