[FFmpeg-devel] [PATCH] interplayacm: validate number of channels
Paul B Mahol
onemda at gmail.com
Sun Oct 30 23:15:47 EET 2016
On 10/30/16, Andreas Cadhalpun <andreas.cadhalpun at googlemail.com> wrote:
> The number of channels is used as divisor in decode_frame, so it must
> not be zero to avoid SIGFPE crashes.
>
> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> ---
> libavcodec/interplayacm.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/libavcodec/interplayacm.c b/libavcodec/interplayacm.c
> index f4a3446..c897e72 100644
> --- a/libavcodec/interplayacm.c
> +++ b/libavcodec/interplayacm.c
> @@ -62,6 +62,11 @@ static av_cold int decode_init(AVCodecContext *avctx)
> if (avctx->extradata_size < 14)
> return AVERROR_INVALIDDATA;
>
> + if (avctx->channels <= 0) {
> + av_log(avctx, AV_LOG_ERROR, "Invalid number of channels: %d\n",
> avctx->channels);
> + return AVERROR_INVALIDDATA;
> + }
> +
> s->level = AV_RL16(avctx->extradata + 12) & 0xf;
> s->rows = AV_RL16(avctx->extradata + 12) >> 4;
> s->cols = 1 << s->level;
> --
> 2.10.1
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
Patch is OK. Thanks.
More information about the ffmpeg-devel
mailing list