浏览代码

Fix CID 1444119

Let's use the same function exit point for BUG() codepath that we're using
for every other exit condition. That way, we're not forgetting to clean up
the memarea.
rl1987 5 年之前
父节点
当前提交
669ec64325
共有 2 个文件被更改,包括 4 次插入1 次删除
  1. 3 0
      changes/cid1444119
  2. 1 1
      src/or/consdiff.c

+ 3 - 0
changes/cid1444119

@@ -0,0 +1,3 @@
+  o Minor bugfixes (C correctness):
+    - Fix an unlikely memory leak in consensus_diff_apply(). Fixes bug 29824;
+      bugfix on 0.3.1.1-alpha. This is Coverity warning CID 1444119.

+ 1 - 1
src/or/consdiff.c

@@ -1385,7 +1385,7 @@ consensus_diff_apply(const char *consensus,
 
   r1 = consensus_compute_digest_as_signed(consensus, &d1);
   if (BUG(r1 < 0))
-    return NULL; // LCOV_EXCL_LINE
+    goto done;
 
   lines1 = smartlist_new();
   lines2 = smartlist_new();