Snap for 5304822 from efa0f5bc300984c24188213e0d650f1da34d2a09 to pi-qpr3-release
Change-Id: I0f70ad7cafc02b5f51ce3a4e36bf83cb0a1d0e47
diff --git a/Tremolo/codebook.c b/Tremolo/codebook.c
index 467640d..a06302d 100644
--- a/Tremolo/codebook.c
+++ b/Tremolo/codebook.c
@@ -376,14 +376,21 @@
long acc=1;
long acc1=1;
int i;
- for(i=0;i<b->dim;i++){
- acc*=vals;
- acc1*=vals+1;
+ for (i = 0; i < b->dim; i++) {
+ if (acc > b->entries / vals) {
+ break;
+ }
+ acc *= vals;
+ if (acc1 > LONG_MAX / (vals + 1)) {
+ acc1 = LONG_MAX;
+ } else {
+ acc1 *= (vals + 1);
+ }
}
- if(acc<=b->entries && acc1>b->entries){
+ if (i >= b->dim && acc <= b->entries && acc1 > b->entries) {
return(vals);
}else{
- if(acc>b->entries){
+ if (i < b->dim || acc > b->entries) {
vals--;
}else{
vals++;