summaryrefslogtreecommitdiff
path: root/src/or/hs_service.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-04-24 10:37:36 -0400
committerNick Mathewson <nickm@torproject.org>2018-04-24 10:37:36 -0400
commitea3c3a10a2567d44fae33f5814710e868c2a33bf (patch)
treeb79101653d146432248541f0271ebd1eab972a1d /src/or/hs_service.c
parent9be7608fda470713c4b9cd39a55f482706311717 (diff)
parent7e7b052b2a114900b5e6575fd5375dc00c09d5db (diff)
downloadtor-ea3c3a10a2567d44fae33f5814710e868c2a33bf.tar.gz
tor-ea3c3a10a2567d44fae33f5814710e868c2a33bf.zip
Merge branch 'maint-0.3.3'
Diffstat (limited to 'src/or/hs_service.c')
-rw-r--r--src/or/hs_service.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/or/hs_service.c b/src/or/hs_service.c
index ba8abc4237..f6c7e3cd81 100644
--- a/src/or/hs_service.c
+++ b/src/or/hs_service.c
@@ -841,6 +841,10 @@ move_hs_state(hs_service_t *src_service, hs_service_t *dst_service)
/* Let's do a shallow copy */
dst->intro_circ_retry_started_time = src->intro_circ_retry_started_time;
dst->num_intro_circ_launched = src->num_intro_circ_launched;
+ /* Freeing a NULL replaycache triggers an info LD_BUG. */
+ if (dst->replay_cache_rend_cookie != NULL) {
+ replaycache_free(dst->replay_cache_rend_cookie);
+ }
dst->replay_cache_rend_cookie = src->replay_cache_rend_cookie;
src->replay_cache_rend_cookie = NULL; /* steal pointer reference */