On Tue, Oct 04, 2011 at 05:51:23PM -0400, Justin Ruggles wrote:
> ---
>  libavcodec/smacker.c |    8 ++++++++
>  1 files changed, 8 insertions(+), 0 deletions(-)
> 
> diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c
> index 20ddc15..d8755be 100644
> --- a/libavcodec/smacker.c
> +++ b/libavcodec/smacker.c
> @@ -606,6 +606,14 @@ static int smka_decode_frame(AVCodecContext *avctx, void 
> *data, int *data_size,
>          av_log(avctx, AV_LOG_ERROR, "Frame is too large to fit in buffer\n");
>          return -1;
>      }
> +    if (stereo && avctx->channels == 1) {
> +        av_log(avctx, AV_LOG_ERROR, "channels mismatch\n");
> +        return AVERROR(EINVAL);
> +    }

stereo ^ (avctx->channels != 1) to catch both channel mismatch cases ;)

> +    if (bits && avctx->sample_fmt == AV_SAMPLE_FMT_U8) {
> +        av_log(avctx, AV_LOG_ERROR, "sample format mismatch\n");
> +        return AVERROR(EINVAL);
> +    }
>  
>      memset(vlc, 0, sizeof(VLC) * 4);
>      memset(h, 0, sizeof(HuffContext) * 4);
> -- 
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to