diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-10-09 23:50:09 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-10-09 23:50:09 -0400 |
commit | ec97319464aab204740acb013b504abb0e13d989 (patch) | |
tree | 175850d81d0a91d4dc3a9de4b3bbc1bcf39a3a4e | |
parent | a01736e8b2017f313f178503bf55e8e7f15a7d39 (diff) | |
parent | 634d24c58815a8754fb94f9abc0edc2aa8ba5a80 (diff) | |
download | tor-ec97319464aab204740acb013b504abb0e13d989.tar tor-ec97319464aab204740acb013b504abb0e13d989.tar.gz |
Merge branch 'bug7014_squashed'
-rw-r--r-- | changes/bug7014 | 5 | ||||
-rw-r--r-- | src/or/transports.c | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/changes/bug7014 b/changes/bug7014 new file mode 100644 index 000000000..1d39103a5 --- /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/transports.c b/src/or/transports.c index 34fe679dd..f9cd12561 100644 --- a/src/or/transports.c +++ b/src/or/transports.c @@ -270,19 +270,22 @@ transport_resolve_conflicts(const 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; } } |