Parcourir la source

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 il y a 6 ans
Parent
commit
669ec64325
2 fichiers modifiés avec 4 ajouts et 1 suppressions
  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();