]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib/trivial: str2prefix checks return of inet_pton in fragile way
authorPaul Jakma <paul@quagga.net>
Sat, 8 Aug 2009 19:41:39 +0000 (20:41 +0100)
committerPaul Jakma <paul@quagga.net>
Fri, 28 Aug 2009 13:51:49 +0000 (14:51 +0100)
* 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

index c6922036b1833a899ac01e08d30a1fbeadabd9e0..2afaa09c76635dc3d35fba2a108e23b3f9482018 100644 (file)
@@ -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)