From 2daa7e07cea5fb92a97d4d25c62c3f301523eab0 Mon Sep 17 00:00:00 2001
From: Corinna Vinschen <corinna@vinschen.de>
Date: Mon, 31 Jan 2011 13:58:59 +0000
Subject: [PATCH] 	* syscalls.cc (utmp_data): Fix potential buffer
 overflow.

---
 winsup/cygwin/ChangeLog   | 4 ++++
 winsup/cygwin/syscalls.cc | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 25751d32e..fb21b9dbd 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,7 @@
+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.
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++; \
 })