aboutsummaryrefslogtreecommitdiffstats
path: root/net/xfrm/xfrm_policy.c
diff options
context:
space:
mode:
authorJulien Brunel <brunel@diku.dk>2008-09-02 20:24:28 -0400
committerDavid S. Miller <davem@davemloft.net>2008-09-02 20:24:28 -0400
commit9d7d74029e0f5fde3b88b39892b9b9cfdf4ea10a (patch)
treea079c58127d8aae4977c0650e5327859e93e22e9 /net/xfrm/xfrm_policy.c
parent773b4e02be28220e9ead80a5fdb180031361439a (diff)
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>
Diffstat (limited to 'net/xfrm/xfrm_policy.c')
-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:
1731 * We can't enlist stable bundles either. 1731 * We can't enlist stable bundles either.
1732 */ 1732 */
1733 write_unlock_bh(&policy->lock); 1733 write_unlock_bh(&policy->lock);
1734 if (dst) 1734 dst_free(dst);
1735 dst_free(dst);
1736 1735
1737 if (pol_dead) 1736 if (pol_dead)
1738 XFRM_INC_STATS(LINUX_MIB_XFRMOUTPOLDEAD); 1737 XFRM_INC_STATS(LINUX_MIB_XFRMOUTPOLDEAD);
@@ -1748,8 +1747,7 @@ restart:
1748 err = xfrm_dst_update_origin(dst, fl); 1747 err = xfrm_dst_update_origin(dst, fl);
1749 if (unlikely(err)) { 1748 if (unlikely(err)) {
1750 write_unlock_bh(&policy->lock); 1749 write_unlock_bh(&policy->lock);
1751 if (dst) 1750 dst_free(dst);
1752 dst_free(dst);
1753 XFRM_INC_STATS(LINUX_MIB_XFRMOUTBUNDLECHECKERROR); 1751 XFRM_INC_STATS(LINUX_MIB_XFRMOUTBUNDLECHECKERROR);
1754 goto error; 1752 goto error;
1755 } 1753 }