Hi,

There is another buffer overflow somewhere I think.

The code in kbdputsc() in kbd.c does not look very safe:

                kbscan->kc[kbscan->nk++] = c; <--------- no bound checking, can 
overflow.
                c = latin1(kbscan->kc, kbscan->nk);
                if(c < -1)      /* need more keystrokes */
                        return;
                if(c != -1)     /* valid sequence */
                        kbdputc(kbdq, c);
                else    /* dump characters */
                        for(i=0; i<kbscan->nk; i++)
                                kbdputc(kbdq, kbscan->kc[i]);
                kbscan->nk = 0;
                kbscan->collecting = 0;

Actually with the plan9 actual iso, when I boot from the CD
and in rio I open a new terminal and type

<Alt> x ddddddddddddddddddddddddddd <Alt> lc
then I crash the cpu.


Reply via email to