The problem is that the program allocates a static 128-byte array to hold
flags indicating which keys are down...then iterates from 0 to NR_KEYS
filling it with blanks.  Apparently NR_KEYS used to be less than 128, but
now it's 256; obviously this was disaster waiting to happen, and fixing the
loop fixes the bug.

  I'll upload a 0-day NMU in a moment to close this bug.

  Daniel
--- rawkey.c.orig       2006-10-16 19:16:37.000000000 -0700
+++ rawkey.c    2006-10-16 19:16:38.000000000 -0700
@@ -23,7 +23,7 @@
 static struct termios new_termio,old_termio;
 static int vtswitch_allowed=0;
 
-static int key_down[128];
+static int key_down[NR_KEYS];
 
 /* user-supplied functions to 'undraw' and 'redraw' screen
  * if vt switching is allowed.

Attachment: signature.asc
Description: Digital signature

Reply via email to