Browse Source

Actually free the worker_state_t object when we do an update with it

Previously we freed the old "keys" object, but leaked the
worker_state_t that we had taken it from.

Fixes bug 20401; bugfix on 0.2.6.3-alpha.
Nick Mathewson 7 years ago
parent
commit
24b7b922ae
2 changed files with 5 additions and 0 deletions
  1. 4 0
      changes/bug20401
  2. 1 0
      src/or/cpuworker.c

+ 4 - 0
changes/bug20401

@@ -0,0 +1,4 @@
+  o Minor bugfixes (relay):
+    - Avoid a small memory leak when informing worker threads about rotated
+      onion keys. Fixes bug 20401; bugfix on 0.2.6.3-alpha.
+

+ 1 - 0
src/or/cpuworker.c

@@ -168,6 +168,7 @@ update_state_threadfn(void *state_, void *work_)
   server_onion_keys_free(state->onion_keys);
   state->onion_keys = update->onion_keys;
   update->onion_keys = NULL;
+  worker_state_free(update);
   ++state->generation;
   return WQ_RPL_REPLY;
 }