From ecf27dd2e0ed1dff4dc919a7c805e951913d953f Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 2 Mar 2020 20:30:09 +0100 Subject: [PATCH] Cygwin: console: convert wpbuf_put to inline function fix potential buffer overrun while at it Signed-off-by: Corinna Vinschen --- winsup/cygwin/fhandler_console.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc index dffee240a..c5f269168 100644 --- a/winsup/cygwin/fhandler_console.cc +++ b/winsup/cygwin/fhandler_console.cc @@ -63,10 +63,13 @@ static struct fhandler_base::rabuf_t con_ra; static unsigned char wpbuf[WPBUF_LEN]; static int wpixput; static unsigned char last_char; -#define wpbuf_put(x) \ - wpbuf[wpixput++] = x; \ - if (wpixput > WPBUF_LEN) \ - wpixput--; + +static inline void +wpbuf_put (unsigned char x) +{ + if (wpixput < WPBUF_LEN) + wpbuf[wpixput++] = x; +} static void beep ()