From: Nick Mathewson Date: Thu, 27 Mar 2014 21:11:53 +0000 (-0400) Subject: check outputs from get_first_listener_addrport_string X-Git-Tag: tor-0.2.5.4-alpha~72^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=753a246a14a021dc3e4bc26c40d6fe7c2d60bb1b;p=thirdparty%2Ftor.git check outputs from get_first_listener_addrport_string Fix for 9650; bugfix for 0.2.3.16-alpha. --- diff --git a/changes/bug9650 b/changes/bug9650 new file mode 100644 index 0000000000..c49cc2420f --- /dev/null +++ b/changes/bug9650 @@ -0,0 +1,4 @@ + o Minor bugfixes: + - Avoid potential crashes or bad behavior when launching a + server-side managed proxy with ORPort or ExtORPort temporarily + disabled. Fixes bug 9650; bugfix on 0.2.3.16-alpha. diff --git a/src/or/transports.c b/src/or/transports.c index 8b4a11882b..7e496fe219 100644 --- a/src/or/transports.c +++ b/src/or/transports.c @@ -1243,8 +1243,10 @@ create_managed_proxy_environment(const managed_proxy_t *mp) { char *orport_tmp = get_first_listener_addrport_string(CONN_TYPE_OR_LISTENER); - smartlist_add_asprintf(envs, "TOR_PT_ORPORT=%s", orport_tmp); - tor_free(orport_tmp); + if (orport_tmp) { + smartlist_add_asprintf(envs, "TOR_PT_ORPORT=%s", orport_tmp); + tor_free(orport_tmp); + } } { @@ -1275,8 +1277,10 @@ create_managed_proxy_environment(const managed_proxy_t *mp) get_first_listener_addrport_string(CONN_TYPE_EXT_OR_LISTENER); char *cookie_file_loc = get_ext_or_auth_cookie_file_name(); - smartlist_add_asprintf(envs, "TOR_PT_EXTENDED_SERVER_PORT=%s", - ext_or_addrport_tmp); + if (ext_or_addrport_tmp) { + smartlist_add_asprintf(envs, "TOR_PT_EXTENDED_SERVER_PORT=%s", + ext_or_addrport_tmp); + } smartlist_add_asprintf(envs, "TOR_PT_AUTH_COOKIE_FILE=%s", cookie_file_loc);