return_to_param: long to short should never return a longer version
commit47444266e917bcc873e671b97874ebf73dcea512
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 17 May 2017 07:30:05 +0000 (17 10:30 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Wed, 17 May 2017 07:30:05 +0000 (17 10:30 +0300)
treea587defcc7f13edfe0745d6f2fe9110f076afa2c
parent759eacc4e522ef4faf30ff569fe3b4363fed8e07
return_to_param: long to short should never return a longer version

This is supposed to be looking for assignments like:

struct foo *p = some->very->long_variable;

Because we refer to p->xxx instead of some->very->long_variable->xxx in
the code.  But sometimes we do things like:

p = alloc();
some->very->long_variable = p;

We'll still refer to p->xxx in the function, so we don't want to return the
long version of that variable.

I did some related cleanup as well.

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