summaryrefslogtreecommitdiff
path: root/src/or/cpuworker.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-10-31 14:36:15 -0400
committerNick Mathewson <nickm@torproject.org>2016-10-31 15:20:25 -0400
commit24b7b922ae9adc814890feae661ad64f474307f3 (patch)
tree9cf145cc03c6facd955b0231f0d5460e0fbe2d59 /src/or/cpuworker.c
parentd28870402376c52b32feaebfcbe190873218fb89 (diff)
downloadtor-24b7b922ae9adc814890feae661ad64f474307f3.tar.gz
tor-24b7b922ae9adc814890feae661ad64f474307f3.zip
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.
Diffstat (limited to 'src/or/cpuworker.c')
-rw-r--r--src/or/cpuworker.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c
index 26bc54b55c..fd6de6ea7c 100644
--- a/src/or/cpuworker.c
+++ b/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;
}