[tor-commits] [tor/master] Fix reference leak & handle leak in consensus_diff_worker_replyfn

nickm at torproject.org nickm at torproject.org
Mon Apr 24 15:05:43 UTC 2017


commit 43d683e0ad46b7914ef0e629dc7b953fcdd1f411
Author: Nick Mathewson <nickm at torproject.org>
Date:   Sun Apr 16 11:52:31 2017 -0400

    Fix reference leak & handle leak in consensus_diff_worker_replyfn
    
    Found by previous test.
---
 src/or/consdiffmgr.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/or/consdiffmgr.c b/src/or/consdiffmgr.c
index 240fe6e..1c9c2a9 100644
--- a/src/or/consdiffmgr.c
+++ b/src/or/consdiffmgr.c
@@ -1058,6 +1058,7 @@ consensus_diff_worker_replyfn(void *work_)
                           job->bodylen_out);
     status = CDM_DIFF_PRESENT;
     handle = consensus_cache_entry_handle_new(ent);
+    consensus_cache_entry_decref(ent);
   } else {
     /* Failure! Nothing to do but complain */
     log_warn(LD_DIRSERV,
@@ -1069,6 +1070,9 @@ consensus_diff_worker_replyfn(void *work_)
 
   if (cache)
     cdm_diff_ht_set_status(flav, from_sha3, to_sha3, status, handle);
+  else
+    consensus_cache_entry_handle_free(handle);
+
   consensus_diff_worker_job_free(job);
 }
 





More information about the tor-commits mailing list