From c4cf095e95ae66c1a7b87bca95e61e50fec746ee Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Sat, 8 Aug 2009 20:41:39 +0100 Subject: lib/trivial: str2prefix checks return of inet_pton in fragile way * prefix.c: (str2prefix_ipv6) inet_pton succesful return is presumed to be 1, rather than the "not zero" the man page describes - seemed fragile. --- lib/prefix.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/prefix.c b/lib/prefix.c index c6922036..2afaa09c 100644 --- a/lib/prefix.c +++ b/lib/prefix.c @@ -379,7 +379,7 @@ str2prefix_ipv6 (const char *str, struct prefix_ipv6 *p) if (pnt == NULL) { ret = inet_pton (AF_INET6, str, &p->prefix); - if (ret != 1) + if (ret == 0) return 0; p->prefixlen = IPV6_MAX_BITLEN; } @@ -392,7 +392,7 @@ str2prefix_ipv6 (const char *str, struct prefix_ipv6 *p) *(cp + (pnt - str)) = '\0'; ret = inet_pton (AF_INET6, cp, &p->prefix); free (cp); - if (ret != 1) + if (ret == 0) return 0; plen = (u_char) atoi (++pnt); if (plen > 128) -- cgit v1.2.1