db: fix a bug in splitting return states
commit726fa4c3880d9bd00761d2db24668174b7b94a40
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 23 Feb 2016 11:55:14 +0000 (23 14:55 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Tue, 23 Feb 2016 11:55:14 +0000 (23 14:55 +0300)
tree1add407054c48563f9ebc34340ffd58b2f34c4e8
parentf513de211c35d665a9f315d4691cf45c3cfec973
db: fix a bug in splitting return states

The problem here is that not all the possible states were stored in
->possible so we sometimes missed returns.  For example, in sm_implied15.c
there are two paths which return 0 but Smatch was only seeing one.

One thing to consider for future work is to use smatch_implied.c instead
of implementing implications a different way.  Smatch_implied.c doesn't
use the ->possible list so there are potential memory savings here.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch_slist.c
validation/sm_implied15.c [new file with mode: 0644]