Thread (3 messages) 3 messages, 3 authors, 2009-07-27

Re: [PATCH 11/12] net/netlabel: Correct redundant test

From: Paul Moore <hidden>
Date: 2009-07-27 17:38:05
Also in: kernel-janitors, lkml

On Monday 27 July 2009 12:15:43 pm Julia Lawall wrote:
From: Julia Lawall <redacted>

entry was tested for NULL near the beginning of the function, followed by a
return, and there is no intervening modification of its value.

A simplified version of the semantic match that finds this problem is as
follows: (http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@r exists@
local idexpression x;
expression E;
position p1,p2;
@@

if (x == NULL || ...) { ... when forall
   return ...; }
... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\)
(
*x == NULL

*x != NULL
)
// </smpl>

Signed-off-by: Julia Lawall <redacted>
Good catch, thanks.

Acked-by: Paul Moore <redacted>
quoted hunk ↗ jump to hunk
---
 net/netlabel/netlabel_kapi.c        |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/net/netlabel/netlabel_kapi.c b/net/netlabel/netlabel_kapi.c
index b0e582f..3ff6f32 100644
--- a/net/netlabel/netlabel_kapi.c
+++ b/net/netlabel/netlabel_kapi.c
@@ -185,8 +185,7 @@ int netlbl_cfg_unlbl_map_add(const char *domain,
 	return 0;

 cfg_unlbl_map_add_failure:
-	if (entry != NULL)
-		kfree(entry->domain);
+	kfree(entry->domain);
 	kfree(entry);
 	kfree(addrmap);
 	kfree(map4);
@@ -385,8 +384,7 @@ int netlbl_cfg_cipsov4_map_add(u32 doi,

 cfg_cipsov4_map_add_failure:
 	cipso_v4_doi_putdef(doi_def);
-	if (entry != NULL)
-		kfree(entry->domain);
+	kfree(entry->domain);
 	kfree(entry);
 	kfree(addrmap);
 	kfree(addrinfo);
-- 
paul moore
linux @ hp
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help