On Thu, Nov 24, 2011 at 11:26:31AM +0100, Anton Khirnov wrote:
> From: Carl Eugen Hoyos <[email protected]>
> 
> Signed-off-by: Anton Khirnov <[email protected]>
> ---
>  libavcodec/flicvideo.c |    9 ++++++---
>  1 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/libavcodec/flicvideo.c b/libavcodec/flicvideo.c
> index a78fe5e..8e8a813 100644
> --- a/libavcodec/flicvideo.c
> +++ b/libavcodec/flicvideo.c
> @@ -81,6 +81,12 @@ static av_cold int flic_decode_init(AVCodecContext *avctx)
>      unsigned char *fli_header = (unsigned char *)avctx->extradata;
>      int depth;
>  
> +    if (avctx->extradata_size != 12 &&
> +        avctx->extradata_size != 128) {
> +        av_log(avctx, AV_LOG_ERROR, "Expected extradata of 12 or 128 
> bytes\n");
> +        return AVERROR_INVALIDDATA;
> +    }
> +
>      s->avctx = avctx;
>  
>      s->fli_type = AV_RL16(&fli_header[4]); /* Might be overridden if a Magic 
> Carpet FLC */
> @@ -90,9 +96,6 @@ static av_cold int flic_decode_init(AVCodecContext *avctx)
>          /* special case for magic carpet FLIs */
>          s->fli_type = FLC_MAGIC_CARPET_SYNTHETIC_TYPE_CODE;
>          depth = 8;
> -    } else if (s->avctx->extradata_size != 128) {
> -        av_log(avctx, AV_LOG_ERROR, "Expected extradata of 12 or 128 
> bytes\n");
> -        return -1;
>      } else {
>          depth = AV_RL16(&fli_header[12]);
>      }

ok 

Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to