> On 30 Sep 99 at 11:56, [EMAIL PROTECTED] wrote:
>
> > Wed, 29 Sep 1999, in a message titled "Kvt bug", Sebastian Wain wrote:
> >
> > >In the xterm there is a feature to change the title of the window
> > >You can change the title of the window sending one of the escape codes of the
> > >xterm.
> > >(linux: man console_codes)
> >
> > >By Example:
> >
> > >ESC]2;This is my Xterm^G
> >
> > >This escape code changes the xterm's title to "This is my Xterm"
> >
> > >Obviously You can do the same using the kvt (Kde Virtual Terminal).
> > >But the kvt has a buffer overflow. If the size of the new title of the
> > >window is big enough then the kvt will do a core dump.
> >
> > xterm too (version 3.3.2.3) coredumps...
> > I tried this with echo -e "\033]2;(60e+06 times 'a')\007"
>
> Tried the same with xterm 3.3.3 on i586, 64M RAM, 128M swap, continuously
> increasing the number of 'a's (perl -e 'print "a" x 60000', 600000,
> 600000...). But instead of xterm crash got Fvwm2 hangup after 6e6 "a"s.
> I.e. everything else works -- I ould even press the "play" button in x11amp
> with mouse, except Fvwm2.
>
> "strace -p <fvwm2pid>" shows that Fvwm2 waits infinitely on select().
>
> The only choice was to kill the window manager.
>
> All progs are from stock RedHat 6.0/i386 -- "Fvwm Version 2.2 compiled on
> Apr 9 1999 at 16:15:38".
Sorry, I must apologize for the screwed up patch I sent on the weekend.
I made a cut-and-past error when moving the patch from our development
sources to the stable version. The correct (and tested) patch to
fvwm-2.2.2 is attached.
Bye
Dominik ^_^
--
Dominik Vogt, Hewlett-Packard GmbH, Dept. BVS
Herrenberger Str.130, 71034 Boeblingen, Germany
phone: 07031/14-4596, fax: 07031/14-3883, [EMAIL PROTECTED]
*** events.c.orig Mon Oct 4 11:36:49 1999
--- events.c Sun Oct 3 01:28:41 1999
***************
*** 476,481 ****
--- 476,485 ----
free_window_names (Tmp_win, True, False);
Tmp_win->name = (char *)text_prop.value;
+ if (Tmp_win->name && strlen(Tmp_win->name) > 200)
+ /* limit to prevent hanging X server */
+ Tmp_win->name[200] = 0;
+
if (Tmp_win->name == NULL)
Tmp_win->name = NoName;
BroadcastName(M_WINDOW_NAME,Tmp_win->w,Tmp_win->frame,
***************
*** 503,508 ****
--- 507,515 ----
return;
free_window_names (Tmp_win, False, True);
Tmp_win->icon_name = (char *) text_prop.value;
+ if (Tmp_win->icon_name && strlen(Tmp_win->icon_name) > 200)
+ /* limit to prevent hanging X server */
+ Tmp_win->icon_name[200] = 0;
if (Tmp_win->icon_name == NULL)
Tmp_win->icon_name = NoName;
BroadcastName(M_ICON_NAME,Tmp_win->w,Tmp_win->frame,