From 91489217d4d0061798b03b1299e4e1a434cf4c72 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 10 Jan 2003 06:26:14 +0000 Subject: Patch from Jay Kulpinski: __decode_dotted() does not count the null terminating byte of a hostname in the DNS response. This causes lookups to fail if the DNS response doesn't compress domain names in the message. --- libc/inet/resolv.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libc/inet/resolv.c') diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c index 0cc344399..ca8f4c7ba 100644 --- a/libc/inet/resolv.c +++ b/libc/inet/resolv.c @@ -50,6 +50,11 @@ * allocation accordingly. See MAX_ALIASES and ALIAS_DIM below. * This fixes the segfault in the Python 2.2.1 socket test. * + * 04-Jan-2003 Jay Kulpinski + * Fixed __decode_dotted to count the terminating null character + * in a host name. + * + * */ #define __FORCE_GLIBC @@ -307,6 +312,11 @@ int __decode_dotted(const unsigned char *data, int offset, dest[used++] = '\0'; } + /* The null byte must be counted too */ + if (measure) { + total++; + } + DPRINTF("Total decode len = %d\n", total); return total; -- cgit v1.2.3