2006-12-29 11:32:30

by Amit Choudhary

[permalink] [raw]
Subject: [PATCH 2.6.20-rc2] fs/jffs2/scan.c: Fix error-path leak

Description: Fix error-path leak in function jffs2_scan_medium(), in file fs/jffs2/scan.c

Signed-off-by: Amit Choudhary <[email protected]>

diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c
index e241346..cd9ed6e 100644
--- a/fs/jffs2/scan.c
+++ b/fs/jffs2/scan.c
@@ -130,6 +130,8 @@ #endif
if (jffs2_sum_active()) {
s = kmalloc(sizeof(struct jffs2_summary), GFP_KERNEL);
if (!s) {
+ free(flashbuf);
+ flashbuf = NULL;
JFFS2_WARNING("Can't allocate memory for summary\n");
return -ENOMEM;
}


2007-01-02 21:07:20

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH 2.6.20-rc2] fs/jffs2/scan.c: Fix error-path leak

On Fri, 29 Dec 2006 03:32:02 -0800
Amit Choudhary <[email protected]> wrote:

> Description: Fix error-path leak in function jffs2_scan_medium(), in file fs/jffs2/scan.c
>
> Signed-off-by: Amit Choudhary <[email protected]>
>
> diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c
> index e241346..cd9ed6e 100644
> --- a/fs/jffs2/scan.c
> +++ b/fs/jffs2/scan.c
> @@ -130,6 +130,8 @@ #endif
> if (jffs2_sum_active()) {
> s = kmalloc(sizeof(struct jffs2_summary), GFP_KERNEL);
> if (!s) {
> + free(flashbuf);
> + flashbuf = NULL;
> JFFS2_WARNING("Can't allocate memory for summary\n");
> return -ENOMEM;
> }

err, no.

I merged the below, thanks.

--- a/fs/jffs2/scan.c~fs-jffs2-scanc-fix-error-path-leak
+++ a/fs/jffs2/scan.c
@@ -130,6 +130,7 @@ int jffs2_scan_medium(struct jffs2_sb_in
if (jffs2_sum_active()) {
s = kzalloc(sizeof(struct jffs2_summary), GFP_KERNEL);
if (!s) {
+ kfree(flashbuf);
JFFS2_WARNING("Can't allocate memory for summary\n");
return -ENOMEM;
}
_