summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-01-31 13:58:59 +0000
committerCorinna Vinschen <corinna@vinschen.de>2011-01-31 13:58:59 +0000
commit2daa7e07cea5fb92a97d4d25c62c3f301523eab0 (patch)
tree9fffb30e076e13c4e0bfd2c977e05b34c90b9d8c
parentadef8606bdb87500a0aa5595de4d09c21a85b8fa (diff)
downloadcygnal-2daa7e07cea5fb92a97d4d25c62c3f301523eab0.tar.gz
cygnal-2daa7e07cea5fb92a97d4d25c62c3f301523eab0.tar.bz2
cygnal-2daa7e07cea5fb92a97d4d25c62c3f301523eab0.zip
* syscalls.cc (utmp_data): Fix potential buffer overflow.
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/syscalls.cc2
2 files changed, 5 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 25751d32e..fb21b9dbd 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,9 @@
2011-01-31 Corinna Vinschen <corinna@vinschen.de>
+ * syscalls.cc (utmp_data): Fix potential buffer overflow.
+
+2011-01-31 Corinna Vinschen <corinna@vinschen.de>
+
* fhandler_socket.cc (address_in_use): Improve comment readability.
2011-01-30 Corinna Vinschen <corinna@vinschen.de>
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 6ea3c2803..825c1cfcd 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -3508,7 +3508,7 @@ static struct utmp utmp_data_buf[16];
static unsigned utix = 0;
#define nutdbuf (sizeof (utmp_data_buf) / sizeof (utmp_data_buf[0]))
#define utmp_data ({ \
- if (utix > nutdbuf) \
+ if (utix >= nutdbuf) \
utix = 0; \
utmp_data_buf + utix++; \
})