diff --git a/changes/cid1444119 b/changes/cid1444119
new file mode 100644
index 0000000000000000000000000000000000000000..bb6854e66fbc606a936a9b2845a47e16de3f2a78
--- /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 deaf465fe7435a660303184e55ecd74ad77dc030..1b90dfe99e6913dcfd43181007df55b83dc7efb8 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();