Hello,
I'm trying to match all expressions of a given type. I want to check
whether all accesses to any part of some struct are locked.
In the hypothetical case (which doesn't happen), every access to that
struct would create a local variable of the wanted type and I could then
match it with something like this:
@@
identifier i;
@@
...
my_specific_type *var;
...
var->i
...
Unfortunately, this structure may be also referenced from another
structure, like this:
struct A { int foo; int bar; };
struct B { int foo; struct A *bar };
struct B *b;
...
b->bar->foo;
I would like to write something like:
@@
expression struct A* E;
@@
...
+E
...
and match every occurence of not only variables of the given type, but
also an expression.
I was first trying to find some hint in the doc, found
expression struct *E;
which is almost what I want but still too broad.
Does there exist some way to
A) achieve the behaviour I want by config
or
B) implement it?
If A, could you please give me a hint?
If B, I wanted to implement it but got totally lost in the code. Could
you please give me a pointer, where to begin? I'd like to contribute the
result then.
Best regards and thanks
MQ
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci