فهرست منبع

remove an unnecessary check in inet_pton

at most 4 hexadecimal digits are processed in one field so the
value cannot overflow. the netdb.h header was not used.
Szabolcs Nagy 11 سال پیش
والد
کامیت
ac45692a53
1فایلهای تغییر یافته به همراه1 افزوده شده و 2 حذف شده
  1. 1 2
      src/network/inet_pton.c

+ 1 - 2
src/network/inet_pton.c

@@ -1,5 +1,4 @@
 #include <sys/socket.h>
-#include <netdb.h>
 #include <arpa/inet.h>
 #include <ctype.h>
 #include <errno.h>
@@ -46,7 +45,7 @@ int inet_pton(int af, const char *restrict s, void *restrict a0)
 		}
 		for (v=j=0; j<4 && (d=hexval(s[j]))>=0; j++)
 			v=16*v+d;
-		if (j==0 || v > 65535) return 0;
+		if (j==0) return 0;
 		ip[i] = v;
 		if (!s[j] && (brk>=0 || i==7)) break;
 		if (i==7) return 0;