Set things in smatch extra instead of smatch implied.
commitd09cb7c2fd2425eabe4bca9b9b85838b8beec7cf
authorDan Carpenter <error27@gmail.com>
Thu, 23 Apr 2009 15:59:52 +0000 (23 18:59 +0300)
committerDan Carpenter <error27@gmail.com>
Thu, 23 Apr 2009 15:59:52 +0000 (23 18:59 +0300)
treea39ba81a4c2ea339a4f66b1a5eb8d7a16ca7107c
parente1729dd11e7d8b9862575698b63881a8e63aa7f4
Set things in smatch extra instead of smatch implied.

When I reverted 4469500cba9 it broke things.

The bug is like this:
family is either 2 or 10 in cur_slist.
                if (family == PF_INET) {
smatch extra sets the true path to 2 and the false path to 10.  But _also_
that sets the cur_slist to 2.  Smatch extra sees that cur_slist can only
be 2 so it sets family to the empty set in the false path.

When I reverted 4469500cba9 I mentioned that it would be nice to
preserve the ->my_pools.  Actually, that is wrong.  We want the most recent
branches in ->my_pools.

With this patch I still get what I need for handling switch statements.

Signed-off-by: Dan Carpenter <error27@gmail.com>
smatch_implied.c
smatch_slist.c