diff options
author | Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> | 2015-12-06 21:35:08 +0100 |
---|---|---|
committer | Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> | 2015-12-08 22:53:09 +0100 |
commit | 5b0da6999fdd0135b6f269d3691d74720f773c85 (patch) | |
tree | 10ae3ad85d3429c727eaefdc0fcba95270b2c4ca /libavcodec | |
parent | 3d090653168c1a0753b0efa3de9ea352c1a187ba (diff) | |
download | ffmpeg-5b0da6999fdd0135b6f269d3691d74720f773c85.tar.gz |
aacenc: update max_sfb when num_swb changes
This fixes out-of-bounds reads in avoid_clipping.
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/aacenc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c index 200f8c456f..3406f43e2e 100644 --- a/libavcodec/aacenc.c +++ b/libavcodec/aacenc.c @@ -574,6 +574,7 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, ics->num_windows = wi[ch].num_windows; ics->swb_sizes = s->psy.bands [ics->num_windows == 8]; ics->num_swb = tag == TYPE_LFE ? ics->num_swb : s->psy.num_bands[ics->num_windows == 8]; + ics->max_sfb = FFMIN(ics->max_sfb, ics->num_swb); ics->swb_offset = wi[ch].window_type[0] == EIGHT_SHORT_SEQUENCE ? ff_swb_offset_128 [s->samplerate_index]: ff_swb_offset_1024[s->samplerate_index]; |