]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
check outputs from get_first_listener_addrport_string
authorNick Mathewson <nickm@torproject.org>
Thu, 27 Mar 2014 21:11:53 +0000 (17:11 -0400)
committerNick Mathewson <nickm@torproject.org>
Thu, 27 Mar 2014 21:12:01 +0000 (17:12 -0400)
Fix for 9650; bugfix for 0.2.3.16-alpha.

changes/bug9650 [new file with mode: 0644]
src/or/transports.c

diff --git a/changes/bug9650 b/changes/bug9650
new file mode 100644 (file)
index 0000000..c49cc24
--- /dev/null
@@ -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.
index 8b4a11882be5b5b5773b59948155feaad31f7a48..7e496fe2199cc50d579143448172e8632749cd62 100644 (file)
@@ -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);