summaryrefslogtreecommitdiffstats
path: root/contrib/bind/lib/inet/inet_pton.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bind/lib/inet/inet_pton.c')
-rw-r--r--contrib/bind/lib/inet/inet_pton.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/contrib/bind/lib/inet/inet_pton.c b/contrib/bind/lib/inet/inet_pton.c
index 0a2927d..a6b0a71 100644
--- a/contrib/bind/lib/inet/inet_pton.c
+++ b/contrib/bind/lib/inet/inet_pton.c
@@ -16,7 +16,7 @@
*/
#if defined(LIBC_SCCS) && !defined(lint)
-static const char rcsid[] = "$Id: inet_pton.c,v 1.7 1999/10/13 16:39:28 vixie Exp $";
+static const char rcsid[] = "$Id: inet_pton.c,v 1.8 2001/07/16 03:22:24 marka Exp $";
#endif /* LIBC_SCCS and not lint */
#include "port_before.h"
@@ -95,10 +95,12 @@ inet_pton4(src, dst)
if ((pch = strchr(digits, ch)) != NULL) {
u_int new = *tp * 10 + (pch - digits);
+ if (saw_digit && *tp == 0)
+ return (0);
if (new > 255)
return (0);
*tp = new;
- if (! saw_digit) {
+ if (!saw_digit) {
if (++octets > 4)
return (0);
saw_digit = 1;
OpenPOWER on IntegriCloud