aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug96504
-rw-r--r--src/or/transports.c12
2 files changed, 12 insertions, 4 deletions
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);