summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrl1987 <rl1987@sdf.lonestar.org>2019-03-20 19:44:54 +0200
committerteor <teor@torproject.org>2019-03-26 12:24:45 +1000
commit669ec64325fde2f145b1798ee04c5fb74313b0e8 (patch)
tree3c3676bac5f0483839b998ef34c7c25dd193eb30
parentd7a5fdcb7408536008e8142becc323148e901da5 (diff)
downloadtor-669ec64325fde2f145b1798ee04c5fb74313b0e8.tar.gz
tor-669ec64325fde2f145b1798ee04c5fb74313b0e8.zip
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.
-rw-r--r--changes/cid14441193
-rw-r--r--src/or/consdiff.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/changes/cid1444119 b/changes/cid1444119
new file mode 100644
index 0000000000..bb6854e66f
--- /dev/null
+++ b/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.
diff --git a/src/or/consdiff.c b/src/or/consdiff.c
index deaf465fe7..1b90dfe99e 100644
--- a/src/or/consdiff.c
+++ b/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();