[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