From: Marc-André Lureau Date: Thu, 26 Mar 2009 19:31:12 +0000 (+0200) Subject: bluetooth: don't access outside array range X-Git-Tag: 1.0_branch~1932^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9e8c2d393a6e2ef8ceda58ff3db6c3a7a7223d46;p=profile%2Fivi%2Fpulseaudio.git bluetooth: don't access outside array range --- diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c index 4c1f1c3..2c4f29c 100644 --- a/src/modules/bluetooth/module-bluetooth-device.c +++ b/src/modules/bluetooth/module-bluetooth-device.c @@ -448,8 +448,8 @@ static int setup_a2dp(struct userdata *u) { break; } - if ((unsigned) i >= PA_ELEMENTSOF(freq_table)) { - for (; i >= 0; i--) { + if ((unsigned) i == PA_ELEMENTSOF(freq_table)) { + for (--i; i >= 0; i--) { if (cap->frequency & freq_table[i].cap) { u->sample_spec.rate = freq_table[i].rate; cap->frequency = freq_table[i].cap; @@ -463,6 +463,8 @@ static int setup_a2dp(struct userdata *u) { } } + pa_assert(i < PA_ELEMENTSOF(freq_table)); + if (cap->capability.configured) return 0;