mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
Report an error if pitch_lag is zero in AMR-NB decoder.
This fixes an infinite loop in the decoder on specially crafted files, and fixes bug 151. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
This commit is contained in:
parent
3fa646e859
commit
7f09791d28
@ -977,6 +977,10 @@ static int amrnb_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
|
|
||||||
pitch_sharpening(p, subframe, p->cur_frame_mode, &fixed_sparse);
|
pitch_sharpening(p, subframe, p->cur_frame_mode, &fixed_sparse);
|
||||||
|
|
||||||
|
if (fixed_sparse.pitch_lag == 0) {
|
||||||
|
av_log(avctx, AV_LOG_ERROR, "The file is corrupted, pitch_lag = 0 is not allowed\n");
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
ff_set_fixed_vector(p->fixed_vector, &fixed_sparse, 1.0,
|
ff_set_fixed_vector(p->fixed_vector, &fixed_sparse, 1.0,
|
||||||
AMR_SUBFRAME_SIZE);
|
AMR_SUBFRAME_SIZE);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user