Skip to content

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.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information