aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2020-03-02 20:30:09 +0100
committerCorinna Vinschen <corinna@vinschen.de>2020-03-02 20:30:09 +0100
commitecf27dd2e0ed1dff4dc919a7c805e951913d953f (patch)
tree13575884ceb2f1382ef49cac76870f6e913236b1
parentb4bc238311ca66ce34de5bec2f8219e881cedfd0 (diff)
downloadnewlib-ecf27dd2e0ed1dff4dc919a7c805e951913d953f.zip
newlib-ecf27dd2e0ed1dff4dc919a7c805e951913d953f.tar.gz
newlib-ecf27dd2e0ed1dff4dc919a7c805e951913d953f.tar.bz2
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.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc
index dffee24..c5f2691 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 ()