From: Nick Mathewson Date: Mon, 31 Oct 2016 18:36:15 +0000 (-0400) Subject: Actually free the worker_state_t object when we do an update with it X-Git-Tag: tor-0.2.9.5-alpha~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24b7b922ae9adc814890feae661ad64f474307f3;p=thirdparty%2Ftor.git 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. --- diff --git a/changes/bug20401 b/changes/bug20401 new file mode 100644 index 0000000000..85ab3c7322 --- /dev/null +++ b/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. + 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; }