[newlib-cygwin/cygwin-3_6-branch] Cygwin: pty: Fix state initialization in pty_master_fwd_thread
Takashi Yano
tyan0@sourceware.org
Fri Dec 19 18:28:28 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=3c5e6fce0be78c645b743dbe2c4f6363e1fc8398
commit 3c5e6fce0be78c645b743dbe2c4f6363e1fc8398
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
Date: Fri Dec 19 13:31:25 2025 +0900
Cygwin: pty: Fix state initialization in pty_master_fwd_thread
If the ESC sequence ends at the middle of the sequence, the 'state'
remains non-zero. This prevent the next state machine from working
as expected. On contrary, 'start_at' is set in each parser, so is
not necessary to be initialized.
Fixes: 10d083c745dd ("Cygwin: pty: Inherit typeahead data between two input pipes.")
Suggested-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
(cherry picked from commit 53bbf4756c7f7c4e300406cd7f33a876ca9b4731)
Diff:
---
winsup/cygwin/fhandler/pty.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/winsup/cygwin/fhandler/pty.cc b/winsup/cygwin/fhandler/pty.cc
index a91743875..03fd47858 100644
--- a/winsup/cygwin/fhandler/pty.cc
+++ b/winsup/cygwin/fhandler/pty.cc
@@ -2703,7 +2703,6 @@ fhandler_pty_master::pty_master_fwd_thread (const master_fwd_thread_param_t *p)
/* Remove CSI > Pm m */
state = 0;
- start_at = 0;
for (DWORD i = 0; i < rlen; i++)
if (outbuf[i] == '\033')
{
@@ -2731,6 +2730,7 @@ fhandler_pty_master::pty_master_fwd_thread (const master_fwd_thread_param_t *p)
state = 0;
/* Remove OSC Ps ; ? BEL/ST */
+ state = 0;
for (DWORD i = 0; i < rlen; i++)
if (state == 0 && outbuf[i] == '\033')
{
More information about the Cygwin-cvs
mailing list