netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 11/12] net/netlabel: Correct redundant test
@ 2009-07-27 16:15 Julia Lawall
  2009-07-27 17:37 ` Paul Moore
  0 siblings, 1 reply; 3+ messages in thread
From: Julia Lawall @ 2009-07-27 16:15 UTC (permalink / raw)
  To: paul.moore, netdev, linux-kernel, kernel-janitors

From: Julia Lawall <julia@diku.dk>

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 <julia@diku.dk>

---
 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);

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 11/12] net/netlabel: Correct redundant test
  2009-07-27 16:15 [PATCH 11/12] net/netlabel: Correct redundant test Julia Lawall
@ 2009-07-27 17:37 ` Paul Moore
  2009-07-27 18:36   ` David Miller
  0 siblings, 1 reply; 3+ messages in thread
From: Paul Moore @ 2009-07-27 17:37 UTC (permalink / raw)
  To: Julia Lawall; +Cc: netdev, linux-kernel, kernel-janitors

On Monday 27 July 2009 12:15:43 pm Julia Lawall wrote:
> From: Julia Lawall <julia@diku.dk>
>
> 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 <julia@diku.dk>

Good catch, thanks.

Acked-by: Paul Moore <paul.moore@hp.com>

> ---
>  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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 11/12] net/netlabel: Correct redundant test
  2009-07-27 17:37 ` Paul Moore
@ 2009-07-27 18:36   ` David Miller
  0 siblings, 0 replies; 3+ messages in thread
From: David Miller @ 2009-07-27 18:36 UTC (permalink / raw)
  To: paul.moore; +Cc: julia, netdev, linux-kernel, kernel-janitors

From: Paul Moore <paul.moore@hp.com>
Date: Mon, 27 Jul 2009 13:37:29 -0400

> On Monday 27 July 2009 12:15:43 pm Julia Lawall wrote:
>> From: Julia Lawall <julia@diku.dk>
>>
>> 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/)
 ...
>> Signed-off-by: Julia Lawall <julia@diku.dk>
> 
> Good catch, thanks.
> 
> Acked-by: Paul Moore <paul.moore@hp.com>

Applied to net-next-2.6

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-07-27 18:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-27 16:15 [PATCH 11/12] net/netlabel: Correct redundant test Julia Lawall
2009-07-27 17:37 ` Paul Moore
2009-07-27 18:36   ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).