Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 5 Mar 1999 14:32:11 +0000 (14:32 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 5 Mar 1999 14:32:11 +0000 (14:32 +0000)
1999-03-05  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

* resolv/inet_addr.c (inet_aton): Don't allow componets >
255. Patch by Bruno Haible <haible@ilog.fr> [PR libc/1010].

ChangeLog
resolv/inet_addr.c

index 6883430..60ba9d7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+1999-03-05  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * resolv/inet_addr.c (inet_aton): Don't allow componets >
+       255. Patch by Bruno Haible <haible@ilog.fr> [PR libc/1010].
+
 1999-03-05  Geoff Keating  <geoffk@ozemail.com.au>
 
        * sysdeps/powerpc/dl-machine.c (__elf_machine_runtime_setup):
index 0d3ba06..a5667eb 100644 (file)
@@ -187,19 +187,20 @@ inet_aton(cp, addr)
                break;
 
        case 2:                         /* a.b -- 8.24 bits */
-               if (val > 0xffffff)
+               if (parts[0] > 0xff || val > 0xffffff)
                        goto ret_0;
                val |= parts[0] << 24;
                break;
 
        case 3:                         /* a.b.c -- 8.8.16 bits */
-               if (val > 0xffff)
+               if (parts[0] > 0xff || parts[1] > 0xff || val > 0xffff)
                        goto ret_0;
                val |= (parts[0] << 24) | (parts[1] << 16);
                break;
 
        case 4:                         /* a.b.c.d -- 8.8.8.8 bits */
-               if (val > 0xff)
+               if (parts[0] > 0xff || parts[1] > 0xff || parts[2] > 0xff
+                   || val > 0xff)
                        goto ret_0;
                val |= (parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8);
                break;