aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiubov Dmitrieva <liubov.dmitrieva@intel.com>2012-12-22 20:51:45 +0400
committerLiubov Dmitrieva <ldmitrie@sourceware.org>2013-10-23 19:07:37 +0400
commit3bfd26d36c5ec07910d1cf6b6df7c8f331964824 (patch)
treee0a08c3d87f8fee3b862250dd171131f457d9829
parent90cb32ab6fc7f40d9c16aada2cfc34d9beb0b3e8 (diff)
downloadglibc-3bfd26d36c5ec07910d1cf6b6df7c8f331964824.tar
glibc-3bfd26d36c5ec07910d1cf6b6df7c8f331964824.tar.gz
glibc-3bfd26d36c5ec07910d1cf6b6df7c8f331964824.tar.bz2
glibc-3bfd26d36c5ec07910d1cf6b6df7c8f331964824.zip
Buffer overrun detected by Intel MPX at sysdeps/unix/sysv/linux/ifaddrs.c [BZ 15698]
-rw-r--r--sysdeps/unix/sysv/linux/ifaddrs.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/ifaddrs.c b/sysdeps/unix/sysv/linux/ifaddrs.c
index 89fda156a2..4f5f7b5d46 100644
--- a/sysdeps/unix/sysv/linux/ifaddrs.c
+++ b/sysdeps/unix/sysv/linux/ifaddrs.c
@@ -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;
+ }
}
}
}