obfuscator loses link between logic and C variables
ID0000250: This issue was created automatically from Mantis Issue 250. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0000250 | Frama-C | Plug-in > obfuscator | public | 2009-09-18 | 2014-02-12 |
Reporter | virgile | Assigned To | monate | Resolution | fixed |
Priority | normal | Severity | major | Reproducibility | have not tried |
Platform | - | OS | - | OS Version | - |
Product Version | Frama-C Beryllium-20090901 | Target Version | - | Fixed in Version | Frama-C Beryllium-20090902 |
Description :
on the code below, //@ requires \valid(p); void f(int * p); int main(int * p) { f(p); }
executing frama-c -obfuscate t.c
returns /*@ requires \valid(V1); */ extern void F1(int *G1 ) ; int main(int *V3 ) { int V2 ; F1(V3); V2 = 0; return (V2); } i.e. the variable in the requires clause is not bound to the parameter of F1 anymore. It should be requires \valid(G1) instead.