ソースを参照

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();