summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Brunel <brunel@diku.dk>2008-09-02 17:24:28 -0700
committerDavid S. Miller <davem@davemloft.net>2008-09-02 17:24:28 -0700
commit9d7d74029e0f5fde3b88b39892b9b9cfdf4ea10a (patch)
treea079c58127d8aae4977c0650e5327859e93e22e9
parent773b4e02be28220e9ead80a5fdb180031361439a (diff)
downloadlinux-9d7d74029e0f5fde3b88b39892b9b9cfdf4ea10a.tar.gz
linux-9d7d74029e0f5fde3b88b39892b9b9cfdf4ea10a.tar.bz2
linux-9d7d74029e0f5fde3b88b39892b9b9cfdf4ea10a.zip
net/xfrm: Use an IS_ERR test rather than a NULL test
In case of error, the function xfrm_bundle_create returns an ERR pointer, but never returns a NULL pointer. So a NULL test that comes after an IS_ERR test should be deleted. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @match_bad_null_test@ expression x, E; statement S1,S2; @@ x = xfrm_bundle_create(...) ... when != x = E * if (x != NULL) S1 else S2 // </smpl> Signed-off-by: Julien Brunel <brunel@diku.dk> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/xfrm/xfrm_policy.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index 841b32a2e680..46914b79d850 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -1731,8 +1731,7 @@ restart:
* We can't enlist stable bundles either.
*/
write_unlock_bh(&policy->lock);
- if (dst)
- dst_free(dst);
+ dst_free(dst);
if (pol_dead)
XFRM_INC_STATS(LINUX_MIB_XFRMOUTPOLDEAD);
@@ -1748,8 +1747,7 @@ restart:
err = xfrm_dst_update_origin(dst, fl);
if (unlikely(err)) {
write_unlock_bh(&policy->lock);
- if (dst)
- dst_free(dst);
+ dst_free(dst);
XFRM_INC_STATS(LINUX_MIB_XFRMOUTBUNDLECHECKERROR);
goto error;
}