فهرست منبع

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 سال پیش
والد
کامیت
91489217d4
1فایلهای تغییر یافته به همراه10 افزوده شده و 0 حذف شده
  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;