Am Donnerstag 07 Juli 2011, 18:36:02 schrieb Vitaliy Ivanov: > >From 9b9f36f46aa708c3245f5ded83f96421966b2edf Mon Sep 17 00:00:00 2001 > > From: Vitaliy Ivanov <vitaliva...@gmail.com> > Date: Thu, 7 Jul 2011 19:23:13 +0300 > Subject: [PATCH 1/3] uml: drivers/net_user.c memory leak fix > > Perform memory cleanup on exit. > On receiving invalid 'pid' we still should clean 'output' variable. > > Signed-off-by: Vitaliy Ivanov <vitaliva...@gmail.com> > --- > arch/um/drivers/net_user.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/um/drivers/net_user.c b/arch/um/drivers/net_user.c > index 9415dd9..989b653 100644 > --- a/arch/um/drivers/net_user.c > +++ b/arch/um/drivers/net_user.c > @@ -228,10 +228,11 @@ static void change(char *dev, char *what, unsigned > char *addr, "buffer\n"); > > pid = change_tramp(argv, output, output_len); > - if (pid < 0) return; > > if (output != NULL) { > - printk("%s", output); > + if (pid >= 0) { > + printk("%s", output); > + } > kfree(output); > } > }
This control logic is a bit strange. When change_tramp() fails we should not printk() the output variable. if (pid < 0){ free(output); return; } Would be much cleaner. Thanks, //richard ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel