public inbox for cygwin-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin] Cygwin: console: convert wpbuf_put to inline function
@ 2020-03-02 19:52 Corinna Vinschen
  0 siblings, 0 replies; only message in thread
From: Corinna Vinschen @ 2020-03-02 19:52 UTC (permalink / raw)
  To: cygwin-cvs

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=ecf27dd2e0ed1dff4dc919a7c805e951913d953f

commit ecf27dd2e0ed1dff4dc919a7c805e951913d953f
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Mon Mar 2 20:30:09 2020 +0100

    Cygwin: console: convert wpbuf_put to inline function
    
    fix potential buffer overrun while at it
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 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 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 ()


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-03-02 19:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-02 19:52 [newlib-cygwin] Cygwin: console: convert wpbuf_put to inline function Corinna Vinschen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).