diff options
| author | Christian Engelmayer <christian.engelmayer@frequentis.com> | 2009-06-13 17:06:29 -0400 |
|---|---|---|
| committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-06-15 06:17:46 -0400 |
| commit | a2ab0ce09edf20b5228208405dd14bc8790fbdbd (patch) | |
| tree | 42e2bd255dd628cf9fa3395135f3106527e1a184 | |
| parent | 272023df26da2668ecc3937f8eeb48c8683b64fa (diff) | |
jffs2: leaking jffs2_summary in function jffs2_scan_medium
In case of an error returned by file_dirty() 's' is not freed as the cleanup
path is skipped.
Reported by Coverity.
Signed-off-by: Christian Engelmayer <christian.engelmayer@frequentis.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
| -rw-r--r-- | fs/jffs2/scan.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c index 1d437de1e9a8..7515e73e2bfb 100644 --- a/fs/jffs2/scan.c +++ b/fs/jffs2/scan.c | |||
| @@ -196,7 +196,7 @@ int jffs2_scan_medium(struct jffs2_sb_info *c) | |||
| 196 | if (c->nextblock) { | 196 | if (c->nextblock) { |
| 197 | ret = file_dirty(c, c->nextblock); | 197 | ret = file_dirty(c, c->nextblock); |
| 198 | if (ret) | 198 | if (ret) |
| 199 | return ret; | 199 | goto out; |
| 200 | /* deleting summary information of the old nextblock */ | 200 | /* deleting summary information of the old nextblock */ |
| 201 | jffs2_sum_reset_collected(c->summary); | 201 | jffs2_sum_reset_collected(c->summary); |
| 202 | } | 202 | } |
| @@ -207,7 +207,7 @@ int jffs2_scan_medium(struct jffs2_sb_info *c) | |||
| 207 | } else { | 207 | } else { |
| 208 | ret = file_dirty(c, jeb); | 208 | ret = file_dirty(c, jeb); |
| 209 | if (ret) | 209 | if (ret) |
| 210 | return ret; | 210 | goto out; |
| 211 | } | 211 | } |
| 212 | break; | 212 | break; |
| 213 | 213 | ||
