summaryrefslogtreecommitdiff
path: root/lib/rbcodec
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2020-03-28 06:38:16 -0400
committerSolomon Peachy <pizza@shaftnet.org>2020-03-28 11:43:23 +0100
commit022dfe7ab3ae17987763a1838e274dd7be4482d6 (patch)
tree01e8ac70a27595098f835853933c3b6c9d37e248 /lib/rbcodec
parentf8cd15e226500abc7d2f93a1ae0818aee5287527 (diff)
downloadrockbox-022dfe7ab3ae17987763a1838e274dd7be4482d6.tar.gz
rockbox-022dfe7ab3ae17987763a1838e274dd7be4482d6.zip
sid: Fix an out-of-bounds read in the channel mixing code
Change-Id: Ie25b8ab90193e6bb580cd7c04f8c0ce281f7a301
Diffstat (limited to 'lib/rbcodec')
-rw-r--r--lib/rbcodec/codecs/sid.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/lib/rbcodec/codecs/sid.c b/lib/rbcodec/codecs/sid.c
index 224b47d750..6ce11b34cb 100644
--- a/lib/rbcodec/codecs/sid.c
+++ b/lib/rbcodec/codecs/sid.c
@@ -554,7 +554,6 @@ void synth_render (int32_t *buffer_r, int32_t *buffer_l, unsigned long len)
554 * This filter sounds a lot like the 8580, as the low-quality, dirty 554 * This filter sounds a lot like the 8580, as the low-quality, dirty
555 * sound of the 6581 is uuh too hard to achieve :) */ 555 * sound of the 6581 is uuh too hard to achieve :) */
556 556
557 outf[0]+=outf[2]; /* mix voice 1 and 3 to right channel */
558 for (v=0;v<2;v++) { /* do step 3 for both channels */ 557 for (v=0;v<2;v++) { /* do step 3 for both channels */
559 filter.h = quickfloat_ConvertFromInt(outf[v]) - (filter.b>>8)*filter.rez - filter.l; 558 filter.h = quickfloat_ConvertFromInt(outf[v]) - (filter.b>>8)*filter.rez - filter.l;
560 filter.b += quickfloat_Multiply(filter.freq, filter.h); 559 filter.b += quickfloat_Multiply(filter.freq, filter.h);