diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2020-03-02 20:30:09 +0100 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2020-03-02 20:30:09 +0100 |
commit | ecf27dd2e0ed1dff4dc919a7c805e951913d953f (patch) | |
tree | 13575884ceb2f1382ef49cac76870f6e913236b1 | |
parent | b4bc238311ca66ce34de5bec2f8219e881cedfd0 (diff) | |
download | cygnal-ecf27dd2e0ed1dff4dc919a7c805e951913d953f.tar.gz cygnal-ecf27dd2e0ed1dff4dc919a7c805e951913d953f.tar.bz2 cygnal-ecf27dd2e0ed1dff4dc919a7c805e951913d953f.zip |
Cygwin: console: convert wpbuf_put to inline function
fix potential buffer overrun while at it
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r-- | winsup/cygwin/fhandler_console.cc | 11 |
1 files 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 () |