Commit 9d7d74029e0f5fde3b88b39892b9b9cfdf4ea10a

Authored by Julien Brunel
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 }