diff options
-rw-r--r-- | changes/bug22368 | 6 | ||||
-rw-r--r-- | src/or/router.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/changes/bug22368 b/changes/bug22368 new file mode 100644 index 0000000000..eb445d0e43 --- /dev/null +++ b/changes/bug22368 @@ -0,0 +1,6 @@ + o Major bugfixes: + - Relays that set MyFamily no longer free the elements of + options->MyFamily while making their descriptor. They tried to + access the freed elements, and then double-free them, when making + the next descriptor or when changing the config. Fixes bug 22368; + bugfix on 0.3.1.1-alpha. diff --git a/src/or/router.c b/src/or/router.c index b43742aa83..f2741b70af 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -2308,7 +2308,7 @@ router_build_fresh_descriptor(routerinfo_t **r, extrainfo_t **e) smartlist_add_strdup(warned_nonexistent_family, name); } if (is_legal) { - smartlist_add(ri->declared_family, name); + smartlist_add_strdup(ri->declared_family, name); name = NULL; } } else if (router_digest_is_me(member->identity)) { |