>> I can find some function calls with the help of the semantic patch
>> language easily.
>> But I see further software development challenges in the following use cases.
>>
>> 1. The return value was not used for the initialisation of a variable.
>>
>> 2. The return value was not assigned to another variable.
>>
>>
>> Do I need to fiddle with SmPL position variables to determine if an
>> assignment
>> is not performed together with a call within a function implementation?
>>
>> I would appreciate your advices for such a source code analysis.
>
> No idea what you are trying to do. Write something, and then if the
> result is not satisfactory, ask afterwards.
Now I try again with a different wording.
If I would start with top-down approach, I imagine that I will need a SmPL rule
like the following.
@show_unstored_return_values
depends on !find_calls_for_initialisations
&& !find_calls_for_designated_initialisations
&& !find_calls_for_assignments@
identifier allocation =~ "^(?x)
(?:
ippNewRequest
|
sigaction
)$";
position pos;
@@
void receiver(...)
{
<+...
* allocation@pos(...)
...+>
}
But I find that the shown dependencies will be insufficient so far.
I imagine that I should also specify additional constrains for the function
calls I am looking for.
Can extensions be better discussed with such a SmPL stub?
Regards,
Markus
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci