wrongly synthesized assert
ID0000195: This issue was created automatically from Mantis Issue 195. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0000195 | Frama-C | Plug-in > Eva | public | 2009-07-16 | 2014-02-12 |
Reporter | derepas | Assigned To | pascal | Resolution | fixed |
Priority | normal | Severity | minor | Reproducibility | always |
Platform | - | OS | - | OS Version | - |
Product Version | Frama-C Beryllium-20090601-beta1 | Target Version | - | Fixed in Version | Frama-C Beryllium-20090901 |
Description :
Let's consider the following program:
- #include <stdlib.h>
- struct my_struct {
- void * my_field;
- };
- void main(struct my_struct * l) {
- if (l!=NULL) {
-
if (l->my_field!=NULL) {
-
l->my_field=NULL;
-
}
- }
- } Then I launch frama-c-gui and value analysis on entry point 'main'. The following assert is synthesized between line 8 and 9: //@ assert \valid(&l->my_field); Even though l->my_field could be NULL and the program be ok.