commit 6f9e90101e64040bda38c34de884f3d996677ac9 Author: John Brooks <john.bro...@dereferenced.net> Date: Sat May 16 19:50:18 2015 -0600
Fix crash on HUP with mixed ephemeral services Ephemeral services will be listed in rend_services_list at the end of rend_config_services, so it must check whether directory is non-NULL before comparing. This crash happens when reloading config on a tor with mixed configured and ephemeral services. Fixes bug #16060. Bugfix on 0.2.7.1-alpha. --- changes/bug16060 | 4 ++++ src/or/rendservice.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/changes/bug16060 b/changes/bug16060 new file mode 100644 index 0000000..eb0b50f --- /dev/null +++ b/changes/bug16060 @@ -0,0 +1,4 @@ + o Minor bugfixes (hidden service): + - Fix a crash when reloading configuration while at least one + configured and one ephemeral hidden service exists. Fixes bug 16060; + bugfix on 0.2.7.1-alpha. diff --git a/src/or/rendservice.c b/src/or/rendservice.c index e170760..daca4cc 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -709,7 +709,8 @@ rend_config_services(const or_options_t *options, int validate_only) * probably ok? */ SMARTLIST_FOREACH_BEGIN(rend_service_list, rend_service_t *, new) { SMARTLIST_FOREACH_BEGIN(old_service_list, rend_service_t *, old) { - if (!strcmp(old->directory, new->directory)) { + if (new->directory && old->directory && + !strcmp(old->directory, new->directory)) { smartlist_add_all(new->intro_nodes, old->intro_nodes); smartlist_clear(old->intro_nodes); smartlist_add(surviving_services, old); _______________________________________________ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits