param_set: don't ignore "fake" modifications
commitdce365da1b861c0814e0401579d222594cb67aa0
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 11 Sep 2017 08:54:29 +0000 (11 11:54 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Mon, 11 Sep 2017 08:54:29 +0000 (11 11:54 +0300)
treede48a791d83d52d82c3574fe2275323138b9eb15
parent5015551e2985c2ca178cec4002f428a076e34360
param_set: don't ignore "fake" modifications

The thinking here was that if we have statement like:

param = b;

Then it creates fake modifications like:

param->foo = fake_call();

But we don't need to record that param->foo was modified since we already
know that "param" was modified and that's enough.  The bug is that there
are other types of fake calls and those were getting ignored as well.  Code
like:

foo = (({whatever ? a : b}));

Also results in a fake call.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch_param_set.c