diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-10-08 01:26:05 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-10-08 01:26:05 +0000 |
commit | 1bc72056c0d702f6122aafb7f083220e3d42d523 (patch) | |
tree | e16f4cb5956941b6ff62101dadb2e8170f27379f | |
parent | 5fbfc4df0ff614ff2871aa67bcd03797b435f3e0 (diff) | |
parent | 68eae605d35e70685890e3860ef46cca12922c4f (diff) | |
download | tremolo-android-security-11.0.0_r57.tar.gz |
Merge cherrypicks of [16010620, 16011373, 16011377, 16011394, 16011395, 16011396, 16011398, 16011400, 16011402, 16012407, 16010623, 16011574, 16011575, 16010923, 16011434, 16011691, 16011382, 16011383, 16011303, 16011385, 16011579] into security-aosp-rvc-releaseandroid-security-11.0.0_r76android-security-11.0.0_r75android-security-11.0.0_r74android-security-11.0.0_r73android-security-11.0.0_r72android-security-11.0.0_r71android-security-11.0.0_r70android-security-11.0.0_r69android-security-11.0.0_r68android-security-11.0.0_r67android-security-11.0.0_r66android-security-11.0.0_r65android-security-11.0.0_r64android-security-11.0.0_r63android-security-11.0.0_r62android-security-11.0.0_r61android-security-11.0.0_r60android-security-11.0.0_r59android-security-11.0.0_r58android-security-11.0.0_r57android-security-11.0.0_r56android-security-11.0.0_r55android-security-11.0.0_r54android-security-11.0.0_r53android-security-11.0.0_r52android-security-11.0.0_r51android-security-11.0.0_r50android11-security-release
Change-Id: I374c0e147d1220b5cff495affcd9325cabd827a4
-rw-r--r-- | Tremolo/codebook.c | 5 | ||||
-rw-r--r-- | Tremolo/floor0.c | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/Tremolo/codebook.c b/Tremolo/codebook.c index 8948cf3..d62aefa 100644 --- a/Tremolo/codebook.c +++ b/Tremolo/codebook.c @@ -847,6 +847,7 @@ static int decode_map(codebook *s, oggpack_buffer *b, ogg_int32_t *v, int point) #endif /* returns 0 on OK or -1 on eof *************************************/ +/* decode vector / dim granularity gaurding is done in the upper layer */ long vorbis_book_decodevs_add(codebook *book,ogg_int32_t *a, oggpack_buffer *b,int n,int point){ if(book->used_entries>0){ @@ -864,6 +865,7 @@ long vorbis_book_decodevs_add(codebook *book,ogg_int32_t *a, return 0; } +/* decode vector / dim granularity gaurding is done in the upper layer */ long vorbis_book_decodev_add(codebook *book,ogg_int32_t *a, oggpack_buffer *b,int n,int point){ if(book->used_entries>0){ @@ -880,6 +882,9 @@ long vorbis_book_decodev_add(codebook *book,ogg_int32_t *a, return 0; } +/* unlike the others, we guard against n not being an integer number + of <dim> internally rather than in the upper layer (called only by + floor0) */ long vorbis_book_decodev_set(codebook *book,ogg_int32_t *a, oggpack_buffer *b,int n,int point){ if(book->used_entries>0){ diff --git a/Tremolo/floor0.c b/Tremolo/floor0.c index 7e74d1e..ea814e5 100644 --- a/Tremolo/floor0.c +++ b/Tremolo/floor0.c @@ -426,10 +426,9 @@ ogg_int32_t *floor0_inverse1(vorbis_dsp_state *vd,vorbis_info_floor *i, } ogg_int32_t last=0; - for(j=0;j<info->order;j+=b->dim) - if(vorbis_book_decodev_set(b,lsp+j,&vd->opb,b->dim,-24)==-1)goto eop; + if(vorbis_book_decodev_set(b,lsp,&vd->opb,info->order,-24)==-1)goto eop; for(j=0;j<info->order;){ - for(k=0;k<b->dim;k++,j++)lsp[j]+=last; + for(k=0;k<b->dim && j<info->order;k++,j++)lsp[j]+=last; last=lsp[j-1]; } |