瀏覽代碼

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>
Christian Engelmayer 16 年之前
父節點
當前提交
a2ab0ce09e
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      fs/jffs2/scan.c

+ 2 - 2
fs/jffs2/scan.c

@@ -196,7 +196,7 @@ int jffs2_scan_medium(struct jffs2_sb_info *c)
 				if (c->nextblock) {
 				if (c->nextblock) {
 					ret = file_dirty(c, c->nextblock);
 					ret = file_dirty(c, c->nextblock);
 					if (ret)
 					if (ret)
-						return ret;
+						goto out;
 					/* deleting summary information of the old nextblock */
 					/* deleting summary information of the old nextblock */
 					jffs2_sum_reset_collected(c->summary);
 					jffs2_sum_reset_collected(c->summary);
 				}
 				}
@@ -207,7 +207,7 @@ int jffs2_scan_medium(struct jffs2_sb_info *c)
 			} else {
 			} else {
 				ret = file_dirty(c, jeb);
 				ret = file_dirty(c, jeb);
 				if (ret)
 				if (ret)
-					return ret;
+					goto out;
 			}
 			}
 			break;
 			break;