mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec/aacenc: Check both channels for finiteness
Fixes null pointer dereference Fixes: 10412fc52ecc6eab40ed67f82ca7b372/signal_sigsegv_2618c99_2129_f808373959e46afb165593332799ffbc.aif Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
535d09a510
commit
057549a9cc
@ -607,14 +607,14 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
|
||||
s->mdct1024.mdct_calc(&s->mdct1024, sce->lcoeffs, sce->ret_buf);
|
||||
}
|
||||
|
||||
if (!(isfinite(cpe->ch->coeffs[ 0]) &&
|
||||
isfinite(cpe->ch->coeffs[ 128]) &&
|
||||
isfinite(cpe->ch->coeffs[2*128]) &&
|
||||
isfinite(cpe->ch->coeffs[3*128]) &&
|
||||
isfinite(cpe->ch->coeffs[4*128]) &&
|
||||
isfinite(cpe->ch->coeffs[5*128]) &&
|
||||
isfinite(cpe->ch->coeffs[6*128]) &&
|
||||
isfinite(cpe->ch->coeffs[7*128]))
|
||||
if (!(isfinite(cpe->ch[ch].coeffs[ 0]) &&
|
||||
isfinite(cpe->ch[ch].coeffs[ 128]) &&
|
||||
isfinite(cpe->ch[ch].coeffs[2*128]) &&
|
||||
isfinite(cpe->ch[ch].coeffs[3*128]) &&
|
||||
isfinite(cpe->ch[ch].coeffs[4*128]) &&
|
||||
isfinite(cpe->ch[ch].coeffs[5*128]) &&
|
||||
isfinite(cpe->ch[ch].coeffs[6*128]) &&
|
||||
isfinite(cpe->ch[ch].coeffs[7*128]))
|
||||
) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Input contains NaN/+-Inf\n");
|
||||
return AVERROR(EINVAL);
|
||||
|
Loading…
Reference in New Issue
Block a user