Commit 9d7d74029e0f5fde3b88b39892b9b9cfdf4ea10a
Committed by
David S. Miller
1 parent
773b4e02be
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>
Showing 1 changed file with 2 additions and 4 deletions Side-by-side Diff
net/xfrm/xfrm_policy.c
... | ... | @@ -1731,8 +1731,7 @@ |
1731 | 1731 | * We can't enlist stable bundles either. |
1732 | 1732 | */ |
1733 | 1733 | write_unlock_bh(&policy->lock); |
1734 | - if (dst) | |
1735 | - dst_free(dst); | |
1734 | + dst_free(dst); | |
1736 | 1735 | |
1737 | 1736 | if (pol_dead) |
1738 | 1737 | XFRM_INC_STATS(LINUX_MIB_XFRMOUTPOLDEAD); |
... | ... | @@ -1748,8 +1747,7 @@ |
1748 | 1747 | err = xfrm_dst_update_origin(dst, fl); |
1749 | 1748 | if (unlikely(err)) { |
1750 | 1749 | write_unlock_bh(&policy->lock); |
1751 | - if (dst) | |
1752 | - dst_free(dst); | |
1750 | + dst_free(dst); | |
1753 | 1751 | XFRM_INC_STATS(LINUX_MIB_XFRMOUTBUNDLECHECKERROR); |
1754 | 1752 | goto error; |
1755 | 1753 | } |