From 2daa7e07cea5fb92a97d4d25c62c3f301523eab0 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen 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 + + * syscalls.cc (utmp_data): Fix potential buffer overflow. + 2011-01-31 Corinna Vinschen * 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++; \ })