[tor-commits] [tor/release-0.2.2] Check return value in fmt_addr

nickm at torproject.org nickm at torproject.org
Wed Aug 17 19:51:24 UTC 2011


commit 718252b253049f84fefa14e212cf560838e6607c
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Jul 20 13:16:06 2011 -0400

    Check return value in fmt_addr
    
    Previously, if tor_addr_to_str() returned NULL, we would reuse the
    last value returned by fmt_addr().  (This could happen if we were
    erroneously asked to format an AF_UNSPEC address.)  Now instead we
    return "???".
---
 changes/fmt_addr     |    4 ++++
 src/common/address.c |    6 ++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/changes/fmt_addr b/changes/fmt_addr
new file mode 100644
index 0000000..b88c9e1
--- /dev/null
+++ b/changes/fmt_addr
@@ -0,0 +1,4 @@
+  o Minor bugfixes:
+    - When unable to format an address as a string, report its value
+      as "???" rather than reusing the last formatted address. Bugfix
+      on 0.2.1.5-alpha.
diff --git a/src/common/address.c b/src/common/address.c
index 1c72539..7fc7301 100644
--- a/src/common/address.c
+++ b/src/common/address.c
@@ -958,8 +958,10 @@ fmt_addr(const tor_addr_t *addr)
 {
   static char buf[TOR_ADDR_BUF_LEN];
   if (!addr) return "<null>";
-  tor_addr_to_str(buf, addr, sizeof(buf), 0);
-  return buf;
+  if (tor_addr_to_str(buf, addr, sizeof(buf), 0))
+    return buf;
+  else
+    return "???";
 }
 
 /** Convert the string in <b>src</b> to a tor_addr_t <b>addr</b>.  The string





More information about the tor-commits mailing list