]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
r13903@catbus: nickm | 2007-07-25 18:03:56 -0400
authorNick Mathewson <nickm@torproject.org>
Wed, 25 Jul 2007 22:56:47 +0000 (22:56 +0000)
committerNick Mathewson <nickm@torproject.org>
Wed, 25 Jul 2007 22:56:47 +0000 (22:56 +0000)
 Make buffer large enough to hold ip6.arpa addresses.  This code was not actually used yet, so no user-visible bug existed. (Based on patch by croup.)

svn:r10928

src/or/eventdns.c

index c2f0c7f4ce62e01054c749694f1955cb96225cdf..2ecdfc0d090e62de3e555bd087f4556d0da196be 100644 (file)
@@ -2308,7 +2308,8 @@ int evdns_resolve_reverse(struct in_addr *in, int flags, evdns_callback_type cal
 }
 
 int evdns_resolve_reverse_ipv6(struct in6_addr *in, int flags, evdns_callback_type callback, void *ptr) {
-       char buf[64];
+       /* 32 nybbles, 32 periods, "ip6.arpa", NUL. */
+       char buf[73];
        char *cp;
        struct request *req;
        int i;
@@ -2321,8 +2322,8 @@ int evdns_resolve_reverse_ipv6(struct in6_addr *in, int flags, evdns_callback_ty
                *cp++ = "0123456789abcdef"[byte >> 4];
                *cp++ = '.';
        }
-       assert(cp + strlen(".ip6.arpa") < buf+sizeof(buf));
-       memcpy(cp, ".ip6.arpa", strlen(".ip6.arpa")+1);
+       assert(cp + strlen("ip6.arpa") < buf+sizeof(buf));
+       memcpy(cp, "ip6.arpa", strlen("ip6.arpa")+1);
        log(EVDNS_LOG_DEBUG, "Resolve requested for %s (reverse)", buf);
        req = request_new(TYPE_PTR, buf, flags, callback, ptr);
        if (!req) return 1;