mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 19:08:57 +09:00
staging/speakup: fix get_word non-space look-ahead
commit 9d32c0cde4 upstream.
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.
Reported-on: https://github.com/bytefire/speakup/issues/1
Reported-by: Kirk Reiser <kirk@reisers.ca>
Reported-by: Janina Sajka <janina@rednote.net>
Reported-by: Alexandr Epaneshnikov <aarnaarn2@gmail.com>
Reported-by: Gregory Nowak <greg@gregn.net>
Reported-by: deedra waters <deedra@the-brannons.com>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Tested-by: Alexandr Epaneshnikov <aarnaarn2@gmail.com>
Tested-by: Gregory Nowak <greg@gregn.net>
Tested-by: Michael Taboada <michael@michaels.world>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200306003047.thijtmqrnayd3dmw@function
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
@@ -565,8 +565,7 @@ static u_long get_word(struct vc_data *vc)
|
||||
return 0;
|
||||
} else if ((tmpx < vc->vc_cols - 2)
|
||||
&& (ch == SPACE || ch == 0 || IS_WDLM(ch))
|
||||
&& ((char)get_char(vc, (u_short *) &tmp_pos + 1, &temp) >
|
||||
SPACE)) {
|
||||
&& ((char)get_char(vc, (u_short *)tmp_pos + 1, &temp) > SPACE)) {
|
||||
tmp_pos += 2;
|
||||
tmpx++;
|
||||
} else
|
||||
|
||||
Reference in New Issue
Block a user