Browse Source

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.

Eric Andersen 23 years ago
parent
commit
91489217d4
1 changed files with 10 additions and 0 deletions
  1. 10 0
      libc/inet/resolv.c

+ 10 - 0
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 <jskulpin@berkshire.rr.com>
+ *   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;