Following is a code with bug
-----------------------------------
void set_timeout_value(int iParam)
{
int i;
byte b[100];
i = Geti();
if (i > 100 || i < 0){
return ;
}
b[i] = iParam; /* range of I is 0-100,so may overrun array* /
}
-----------------------------------
Now I write a patch to find it, like this
@@
identifier fn, vp;
identifier I;
type T;
expression C;
@@
-fn(...,int vp,...)
-{
-T I[C];
-<+...
-if(vp > C || ...){
-...
-}
-...+>
-}
But it doesn’t work, give me a log:
rule starting on line 1: position variables or mixed modifs interfere with
comm_assoc isobool (bool (int vp > int C) || ...)
can anyone tell why, thanks
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci