Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e576de82ee628f68e5a44527c7ee99eadeab2e62
Commit:     e576de82ee628f68e5a44527c7ee99eadeab2e62
Parent:     d725fdc8027a4cd961f58d92917fbb91b171abfa
Author:     Jesper Juhl <[EMAIL PROTECTED]>
AuthorDate: Fri Aug 10 15:23:54 2007 -0700
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Mon Aug 13 22:52:10 2007 -0700

    [DCCP]: fix memory leak and clean up style - dccp_feat_empty_confirm()
    
    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 <[EMAIL PROTECTED]>
    Acked-by: Ian McDonald <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 net/dccp/feat.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/net/dccp/feat.c b/net/dccp/feat.c
index cd845df..5ebdd86 100644
--- a/net/dccp/feat.c
+++ b/net/dccp/feat.c
@@ -327,10 +327,16 @@ static void dccp_feat_empty_confirm(struct dccp_minisock 
*dmsk,
        }
 
        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;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to