summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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++; \
})