Bugtraq mailing list archives
Re: Kvt bug
From: dominik_vogt () HP COM (Dominik Vogt)
Date: Mon, 4 Oct 1999 11:42:13 +0200
On 30 Sep 99 at 11:56, pioppo () FERRARA LINUX IT 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^GThis 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, dominik_vogt () hp com
*** 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,
Current thread:
- Re: Kvt bug Brock Tellier (Sep 30)
- <Possible follow-ups>
- Re: Kvt bug Dmitry Yu. Bolkhovityanov (Oct 01)
- Re: Kvt bug Dominik Vogt (Oct 04)
