]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Buffer overrun detected by Intel MPX at sysdeps/unix/sysv/linux/ifaddrs.c [BZ 15698]
authorLiubov Dmitrieva <liubov.dmitrieva@intel.com>
Sat, 22 Dec 2012 16:51:45 +0000 (20:51 +0400)
committerLiubov Dmitrieva <ldmitrie@sourceware.org>
Wed, 23 Oct 2013 15:07:37 +0000 (19:07 +0400)
sysdeps/unix/sysv/linux/ifaddrs.c

index 89fda156a217b5ced7e5049ac2a20ff99f8585d3..4f5f7b5d46c5728f60976fecc61cb1c639fc0938 100644 (file)
@@ -782,9 +782,11 @@ getifaddrs_internal (struct ifaddrs **ifap)
 
                      for (i = 0; i < (preflen / 8); i++)
                        *cp++ = 0xff;
-                     c = 0xff;
-                     c <<= (8 - (preflen % 8));
-                     *cp = c;
+                               if (preflen < max_prefixlen) {
+                       c = 0xff;
+                       c <<= (8 - (preflen % 8));
+                       *cp = c;
+                               }
                    }
                }
            }