[tor-commits] [tor/maint-0.2.3] Don't call fmt_addr() twice in a parameter list.

nickm at torproject.org nickm at torproject.org
Wed Oct 10 03:47:23 UTC 2012


commit 721f99e495474fc7b80250ba52351b5771f0ed36
Author: George Kadianakis <desnacked at riseup.net>
Date:   Thu Oct 4 20:54:29 2012 -0400

    Don't call fmt_addr() twice in a parameter list.
---
 changes/bug7014       |    5 +++++
 src/or/circuitbuild.c |    7 +++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/changes/bug7014 b/changes/bug7014
new file mode 100644
index 0000000..1d39103
--- /dev/null
+++ b/changes/bug7014
@@ -0,0 +1,5 @@
+  o Minor bugfixes:
+    - Fix two cases in src/or/transports.c where we were calling
+      fmt_addr() twice in a parameter list. Bug found by David
+      Fifield. Fixes bug 7014; bugfix on 0.2.3.9-alpha.
+
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index a7d370c..f8521c5 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -5310,19 +5310,22 @@ transport_resolve_conflicts(transport_t *t)
       t_tmp->marked_for_removal = 0;
       return 1;
     } else { /* same name but different addrport */
+      char *new_transport_addr = tor_strdup(fmt_addr(&t->addr));
       if (t_tmp->marked_for_removal) { /* marked for removal */
         log_notice(LD_GENERAL, "You tried to add transport '%s' at '%s:%u' "
                    "but there was already a transport marked for deletion at "
                    "'%s:%u'. We deleted the old transport and registered the "
-                   "new one.", t->name, fmt_addr(&t->addr), t->port,
+                   "new one.", t->name, new_transport_addr, t->port,
                    fmt_addr(&t_tmp->addr), t_tmp->port);
         smartlist_remove(transport_list, t_tmp);
         transport_free(t_tmp);
+        tor_free(new_transport_addr);
       } else { /* *not* marked for removal */
         log_notice(LD_GENERAL, "You tried to add transport '%s' at '%s:%u' "
                    "but the same transport already exists at '%s:%u'. "
-                   "Skipping.", t->name, fmt_addr(&t->addr), t->port,
+                   "Skipping.", t->name, new_transport_addr, t->port,
                    fmt_addr(&t_tmp->addr), t_tmp->port);
+        tor_free(new_transport_addr);
         return -1;
       }
     }





More information about the tor-commits mailing list