[Tcsh] tcsh 6.24: broken escape handling
Corinna Vinschen
vinschen at redhat.com
Tue Nov 29 11:38:19 UTC 2022
On Nov 29 12:04, H.Merijn Brand wrote:
> On Tue, 29 Nov 2022 11:42:23 +0100, Corinna Vinschen <vinschen at redhat.com> wrote:
>
> > On Nov 29 11:22, Corinna Vinschen wrote:
> > > Hi,
> > >
> > >
> > > I found a problem with ESC handling in tcsh 6.24. Consider this
> > > example: I have a machine called "pinky" and I'd like to see the machine
> > > name in the terminal header, so basically I perform this command via
> > > .login:
> > >
> > > echo "\033]0;pinky\007\c"
> > >
> > > With tcsh 6.22 I'm getting the desired result:
> > >
> > > $ echo "\033]0;pinky\007\c" [window title changes]
> > > $
> > >
> > > While with tcsh 6.24 the title still changes, there's something broken:
> > >
> > > $ echo "\033]0;pinky\007\c" [window title changes]
> > > "
> > > $
> > >
> > > That's with version 6.24.01 as well as with 6.24.02. On Linux
> > > I always get a quotation mark, on Cygwin the output is often a
> > > quotation mark, sometimes random garbage. The output depends
> > > on the string to print, but it always contains at least one LF:
> > >
> > > $ echo "\033]0;pin\007\c" [window title changes]
> > >
> > > $
> > >
> > > Sorry for noticing this problem so late, but I'm neither running this
> > > sequence by default on Cygwin, nor on Linux. It occured to me only
> > > because I updated a seldomly used laptop lately, called pinky, FWIW :}
> >
> > I bisected the problem and it looks like this commit is the culprit,
> > introducing this problem for the first time:
> >
> > 06915a414e18 echo parse escape enhancements (H.Merijn Brand)
>
> % grep cwdcmd ~/.tcshrc | cat -ve
> alias cwdcmd 'glob "^[]0;'${LOGNAME}'@'${HOST}':$cwd ['$$':'$tty']^G"'$
>
> ^^^ That still works
Yeah, but that doesn't change the fact that 06915a414e18 broke at
least handling of the ESC ] 0 sequence, and the result looks like
a buffer overrun.
Corinna
More information about the Tcsh
mailing list