Explorar o código

fix bugs in ipv4 parsing

Rich Felker %!s(int64=14) %!d(string=hai) anos
pai
achega
d4b5d6e981
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      src/network/__ipparse.c

+ 2 - 1
src/network/__ipparse.c

@@ -14,9 +14,10 @@ int __ipparse(void *dest, int family, const char *s)
 
 	if (family == AF_INET6) goto not_v4;
 
-	for (i=0; i<4 && *s; i++) {
+	for (i=0; i<4; i++) {
 		a[i] = strtoul(s, (char **)&z, 0);
 		if (z==s || (*z && *z != '.')) goto not_v4;
+		if (!*z) break;
 		s=z+1;
 	}
 	switch (i) {