* [PATCH] uml: free resources
@ 2011-07-07 4:02 Davidlohr Bueso
2011-07-07 13:08 ` Vitaliy Ivanov
0 siblings, 1 reply; 3+ messages in thread
From: Davidlohr Bueso @ 2011-07-07 4:02 UTC (permalink / raw)
To: Jeff Dike, Richard Weinberger; +Cc: uml, lkml
From: Davidlohr Bueso <dave@gnu.org>
When creating the temp file there's a memory and file descriptor leak upon error.
Signed-off-by: Davidlohr Bueso <dave@gnu.org>
---
arch/um/os-Linux/mem.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/um/os-Linux/mem.c b/arch/um/os-Linux/mem.c
index e696144..62878cf 100644
--- a/arch/um/os-Linux/mem.c
+++ b/arch/um/os-Linux/mem.c
@@ -176,7 +176,7 @@ static int __init make_tempfile(const char *template, char **out_tempname,
find_tempdir();
if ((tempdir == NULL) || (strlen(tempdir) >= MAXPATHLEN))
- return -1;
+ goto out;
if (template[0] != '/')
strcpy(tempname, tempdir);
@@ -191,13 +191,15 @@ static int __init make_tempfile(const char *template, char **out_tempname,
}
if (do_unlink && (unlink(tempname) < 0)) {
perror("unlink");
- goto out;
+ goto close;
}
if (out_tempname) {
*out_tempname = tempname;
} else
free(tempname);
return fd;
+close:
+ close(fd);
out:
free(tempname);
return -1;
--
1.7.4.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] uml: free resources
2011-07-07 4:02 [PATCH] uml: free resources Davidlohr Bueso
@ 2011-07-07 13:08 ` Vitaliy Ivanov
2011-07-07 13:27 ` Richard Weinberger
0 siblings, 1 reply; 3+ messages in thread
From: Vitaliy Ivanov @ 2011-07-07 13:08 UTC (permalink / raw)
To: dave; +Cc: Jeff Dike, Richard Weinberger, uml, lkml, Jim Meyering
On Thu, Jul 7, 2011 at 7:02 AM, Davidlohr Bueso <dave@gnu.org> wrote:
> From: Davidlohr Bueso <dave@gnu.org>
>
> When creating the temp file there's a memory and file descriptor leak upon error.
>
> Signed-off-by: Davidlohr Bueso <dave@gnu.org>
> ---
> arch/um/os-Linux/mem.c | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/arch/um/os-Linux/mem.c b/arch/um/os-Linux/mem.c
> index e696144..62878cf 100644
> --- a/arch/um/os-Linux/mem.c
> +++ b/arch/um/os-Linux/mem.c
> @@ -176,7 +176,7 @@ static int __init make_tempfile(const char *template, char **out_tempname,
>
> find_tempdir();
> if ((tempdir == NULL) || (strlen(tempdir) >= MAXPATHLEN))
> - return -1;
> + goto out;
>
> if (template[0] != '/')
> strcpy(tempname, tempdir);
> @@ -191,13 +191,15 @@ static int __init make_tempfile(const char *template, char **out_tempname,
> }
> if (do_unlink && (unlink(tempname) < 0)) {
> perror("unlink");
> - goto out;
> + goto close;
> }
> if (out_tempname) {
> *out_tempname = tempname;
> } else
> free(tempname);
> return fd;
> +close:
> + close(fd);
> out:
> free(tempname);
> return -1;
> --
Reviewed-by: Vitaliy Ivanov <vitalivanov@gmail.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] uml: free resources
2011-07-07 13:08 ` Vitaliy Ivanov
@ 2011-07-07 13:27 ` Richard Weinberger
0 siblings, 0 replies; 3+ messages in thread
From: Richard Weinberger @ 2011-07-07 13:27 UTC (permalink / raw)
To: Vitaliy Ivanov; +Cc: dave, Jeff Dike, uml, lkml, Jim Meyering
Am Donnerstag 07 Juli 2011, 15:08:22 schrieb Vitaliy Ivanov:
> On Thu, Jul 7, 2011 at 7:02 AM, Davidlohr Bueso <dave@gnu.org> wrote:
> > From: Davidlohr Bueso <dave@gnu.org>
> >
> > When creating the temp file there's a memory and file descriptor leak
> > upon error.
> >
> > Signed-off-by: Davidlohr Bueso <dave@gnu.org>
> > ---
> > arch/um/os-Linux/mem.c | 6 ++++--
> > 1 files changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/um/os-Linux/mem.c b/arch/um/os-Linux/mem.c
> > index e696144..62878cf 100644
> > --- a/arch/um/os-Linux/mem.c
> > +++ b/arch/um/os-Linux/mem.c
> > @@ -176,7 +176,7 @@ static int __init make_tempfile(const char *template,
> > char **out_tempname,
> >
> > find_tempdir();
> > if ((tempdir == NULL) || (strlen(tempdir) >= MAXPATHLEN))
> > - return -1;
> > + goto out;
> >
> > if (template[0] != '/')
> > strcpy(tempname, tempdir);
> > @@ -191,13 +191,15 @@ static int __init make_tempfile(const char
> > *template, char **out_tempname, }
> > if (do_unlink && (unlink(tempname) < 0)) {
> > perror("unlink");
> > - goto out;
> > + goto close;
> > }
> > if (out_tempname) {
> > *out_tempname = tempname;
> > } else
> > free(tempname);
> > return fd;
> > +close:
> > + close(fd);
> > out:
> > free(tempname);
> > return -1;
> > --
>
> Reviewed-by: Vitaliy Ivanov <vitalivanov@gmail.com>
Applied!
Thanks,
//richard
P.s: Dave, your patch did not show up on user-mode-linux-devel@lists.sourceforge.net nor
richard@nod.at, is your mailer broken?
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-07-07 13:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-07 4:02 [PATCH] uml: free resources Davidlohr Bueso
2011-07-07 13:08 ` Vitaliy Ivanov
2011-07-07 13:27 ` Richard Weinberger
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).