netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 14/28] dccp: fix memory leak and clean up style - dccp_feat_empty_confirm()
@ 2007-08-10 21:11 akpm
  2007-08-10 22:24 ` David Miller
  0 siblings, 1 reply; 2+ messages in thread
From: akpm @ 2007-08-10 21:11 UTC (permalink / raw)
  To: davem; +Cc: netdev, akpm, jesper.juhl, ian.mcdonald

From: Jesper Juhl <jesper.juhl@gmail.com>

There's a memory leak in net/dccp/feat.c::dccp_feat_empty_confirm().  If we
hit the 'default:' case of the 'switch' statement, then we return without
freeing 'opt', thus leaking 'struct dccp_opt_pend' bytes.

The leak is fixed easily enough by adding a kfree(opt); before the return
statement.

The patch also changes the layout of the 'switch' to be more in line with
CodingStyle.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 net/dccp/feat.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff -puN net/dccp/feat.c~dccp-fix-memory-leak-and-clean-up-style-dccp_feat_empty_confirm net/dccp/feat.c
--- a/net/dccp/feat.c~dccp-fix-memory-leak-and-clean-up-style-dccp_feat_empty_confirm
+++ a/net/dccp/feat.c
@@ -327,10 +327,16 @@ static void dccp_feat_empty_confirm(stru
 	}
 
 	switch (type) {
-	case DCCPO_CHANGE_L: opt->dccpop_type = DCCPO_CONFIRM_R; break;
-	case DCCPO_CHANGE_R: opt->dccpop_type = DCCPO_CONFIRM_L; break;
-	default:	     DCCP_WARN("invalid type %d\n", type); return;
-
+	case DCCPO_CHANGE_L:
+		opt->dccpop_type = DCCPO_CONFIRM_R;
+		break;
+	case DCCPO_CHANGE_R:
+		opt->dccpop_type = DCCPO_CONFIRM_L;
+		break;
+	default:
+		DCCP_WARN("invalid type %d\n", type);
+		kfree(opt);
+		return;
 	}
 	opt->dccpop_feat = feature;
 	opt->dccpop_val	 = NULL;
_

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

* Re: [patch 14/28] dccp: fix memory leak and clean up style - dccp_feat_empty_confirm()
  2007-08-10 21:11 [patch 14/28] dccp: fix memory leak and clean up style - dccp_feat_empty_confirm() akpm
@ 2007-08-10 22:24 ` David Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2007-08-10 22:24 UTC (permalink / raw)
  To: akpm; +Cc: netdev, jesper.juhl, ian.mcdonald

From: akpm@linux-foundation.org
Date: Fri, 10 Aug 2007 14:11:57 -0700

> From: Jesper Juhl <jesper.juhl@gmail.com>
> 
> There's a memory leak in net/dccp/feat.c::dccp_feat_empty_confirm().  If we
> hit the 'default:' case of the 'switch' statement, then we return without
> freeing 'opt', thus leaking 'struct dccp_opt_pend' bytes.
> 
> The leak is fixed easily enough by adding a kfree(opt); before the return
> statement.
> 
> The patch also changes the layout of the 'switch' to be more in line with
> CodingStyle.
> 
> Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
> Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Applied to net-2.6, thanks!

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

end of thread, other threads:[~2007-08-10 22:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-10 21:11 [patch 14/28] dccp: fix memory leak and clean up style - dccp_feat_empty_confirm() akpm
2007-08-10 22:24 ` 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).