chiark / gitweb /
src/addrfam.c (adns_addr2text): Don't print junk in debugging output.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 24 May 2014 13:00:03 +0000 (14:00 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Fri, 13 Jun 2014 08:57:41 +0000 (09:57 +0100)
At the point we print `adns_addr2text: will print scoped addr ...' the
buffer isn't null-terminated.  Fortunately, we have the length of the
valid portion of the buffer, so use that to print only the good piece.

Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
src/addrfam.c

index a357f9e..8a49d5b 100644 (file)
@@ -411,7 +411,8 @@ int adns_addr2text(const struct sockaddr *sa, adns_queryflags flags,
       assert(remain >= IF_NAMESIZE+1/*%*/);
       *scopeptr++= '%'; remain--;
       bool parsedname = 0;
-      af_debug("will print scoped addr %s %% %"PRIu32"", buffer, scope);
+      af_debug("will print scoped addr `%.*s' %% %"PRIu32"",
+              scopeoffset,buffer, scope);
       if (scope <= UINT_MAX /* so we can pass it to if_indextoname */
          && !(flags & adns_qf_addrlit_scope_numeric)
          && addrtext_scope_use_ifname(sa)) {