summaryrefslogtreecommitdiff
path: root/apps/codecs/libtremor/res012.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libtremor/res012.c')
-rw-r--r--apps/codecs/libtremor/res012.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/apps/codecs/libtremor/res012.c b/apps/codecs/libtremor/res012.c
index 1263fa65ba..79e3c23e15 100644
--- a/apps/codecs/libtremor/res012.c
+++ b/apps/codecs/libtremor/res012.c
@@ -135,6 +135,7 @@ static vorbis_info_residue *res0_unpack(vorbis_info *vi,oggpack_buffer *opb){
135 int entries = ci->book_param[info->groupbook]->entries; 135 int entries = ci->book_param[info->groupbook]->entries;
136 int dim = ci->book_param[info->groupbook]->dim; 136 int dim = ci->book_param[info->groupbook]->dim;
137 int partvals = 1; 137 int partvals = 1;
138 if (dim<1) goto errout;
138 while(dim>0){ 139 while(dim>0){
139 partvals *= info->partitions; 140 partvals *= info->partitions;
140 if(partvals > entries) goto errout; 141 if(partvals > entries) goto errout;
@@ -322,7 +323,7 @@ int res2_inverse(vorbis_block *vb,vorbis_look_residue *vl,
322 if(s==0){ 323 if(s==0){
323 /* fetch the partition word */ 324 /* fetch the partition word */
324 int temp=vorbis_book_decode(look->phrasebook,&vb->opb); 325 int temp=vorbis_book_decode(look->phrasebook,&vb->opb);
325 if(temp==-1 || temp>info->partvals)goto eopbreak; 326 if(temp==-1 || temp>=info->partvals)goto eopbreak;
326 partword[l]=look->decodemap[temp]; 327 partword[l]=look->decodemap[temp];
327 if(partword[l]==NULL)goto errout; 328 if(partword[l]==NULL)goto errout;
328 } 329 }