diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-10-09 23:46:56 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-10-09 23:46:56 -0400 |
commit | e2549c3b745313d6647c7e1d05025a84e1d33873 (patch) | |
tree | ae691b12bdc2bfe2ea19f58bde519986a190240a /src | |
parent | 0a3dfd0423e230bf5b29c21623480af777bb22c1 (diff) | |
parent | 721f99e495474fc7b80250ba52351b5771f0ed36 (diff) | |
download | tor-e2549c3b745313d6647c7e1d05025a84e1d33873.tar.gz tor-e2549c3b745313d6647c7e1d05025a84e1d33873.zip |
Merge branch 'bug7014_023_squashed' into maint-0.2.3
Diffstat (limited to 'src')
-rw-r--r-- | src/or/circuitbuild.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index a7d370c0ea..f8521c5cff 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; } } |