Re: speakup on latest kernels

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

For people who have had crashes with latest kernels and can rebuild
their own kernel, could you try to apply the attached patch? It seems to
be fixing things and for sure would trigger crashes when doing get_word
while speakup is on a space. The issue has been there for at least 10
years, it's a bit crazy that only now we have crashes with it :)

Samuel
commit 72c8cfdd58ad6a39002f4ae93752ee28d567b69f
Author: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
Date:   Tue Mar 3 01:24:24 2020 +0100

    speakup: fix get_word non-space look-ahead
    
    get_char was erroneously given the address of the pointer to the text
    instead of the address of the text, thus leading to random crashes when
    the user requests speaking a word while the current position is on a space
    character and say_word_ctl is not enabled.
    
    Cc: stable@xxxxxxxxxxxxxxx
    Reported-on: https://github.com/bytefire/speakup/issues/1
    Reported-by: Kirk Reiser <kirk@xxxxxxxxxx>
    Reported-by: Janina Sajka <janina@xxxxxxxxxxx>
    Reported-by: Alexandr Epaneshnikov <aarnaarn2@xxxxxxxxx>
    Reported-by: Gregory Nowak <greg@xxxxxxxxx>
    Reported-by: deedra waters <deedra@xxxxxxxxxxxxxxxx>
    Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
    TODO: Tested-by: Alexandr Epaneshnikov <aarnaarn2@xxxxxxxxx>

diff --git a/drivers/staging/speakup/main.c b/drivers/staging/speakup/main.c
index 488f2539aa9a..81ecfd1a200d 100644
--- a/drivers/staging/speakup/main.c
+++ b/drivers/staging/speakup/main.c
@@ -561,7 +561,7 @@ static u_long get_word(struct vc_data *vc)
 		return 0;
 	} else if (tmpx < vc->vc_cols - 2 &&
 		   (ch == SPACE || ch == 0 || (ch < 0x100 && IS_WDLM(ch))) &&
-		   get_char(vc, (u_short *)&tmp_pos + 1, &temp) > SPACE) {
+		   get_char(vc, (u_short *)tmp_pos + 1, &temp) > SPACE) {
 		tmp_pos += 2;
 		tmpx++;
 	} else {
_______________________________________________
Speakup mailing list
Speakup@xxxxxxxxxxxxxxxxx
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup

[Index of Archives]     [Linux for the Blind]     [Fedora Discussioin]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]

  Powered by Linux