From: Samuel Thibault Date: Mon, 7 Jan 2013 21:03:51 +0000 (+0100) Subject: staging: speakup: avoid out-of-range access in synth_add() X-Git-Tag: firefly_0821_release~7541^2~119 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=71a1306551e811989c0164c614845fea352d8b57;p=firefly-linux-kernel-4.4.55.git staging: speakup: avoid out-of-range access in synth_add() commit 6102c48bd421074a33e102f2ebda3724e8d275f9 upstream. Check that array index is in-bounds before accessing the synths[] array. Signed-off-by: Samuel Thibault Cc: Nickolai Zeldovich Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/speakup/synth.c b/drivers/staging/speakup/synth.c index b56880339225..7843111555e7 100644 --- a/drivers/staging/speakup/synth.c +++ b/drivers/staging/speakup/synth.c @@ -423,7 +423,7 @@ int synth_add(struct spk_synth *in_synth) int i; int status = 0; mutex_lock(&spk_mutex); - for (i = 0; synths[i] != NULL && i < MAXSYNTHS; i++) + for (i = 0; i < MAXSYNTHS && synths[i] != NULL; i++) /* synth_remove() is responsible for rotating the array down */ if (in_synth == synths[i]) { mutex_unlock(&spk_mutex);