On Fri, Feb 7, 2014 at 9:13 AM, Vittorio Giovara
<[email protected]> wrote:
> ---
>  libavcodec/h264.c | 19 ++++++++++++++-----
>  1 file changed, 14 insertions(+), 5 deletions(-)
>
> diff --git a/libavcodec/h264.c b/libavcodec/h264.c
> index da2d4a5..628dbcd 100644
> --- a/libavcodec/h264.c
> +++ b/libavcodec/h264.c
> @@ -4787,7 +4787,9 @@ again:
>                  break;
>              case NAL_SEI:
>                  init_get_bits(&h->gb, ptr, bit_length);
> -                ff_h264_decode_sei(h);
> +                ret = ff_h264_decode_sei(h);
> +                if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))
> +                    goto end;
>                  break;
>              case NAL_SPS:
>                  init_get_bits(&h->gb, ptr, bit_length);
> @@ -4807,7 +4809,9 @@ again:
>                  break;
>              case NAL_PPS:
>                  init_get_bits(&h->gb, ptr, bit_length);
> -                ff_h264_decode_picture_parameter_set(h, bit_length);
> +                ret = ff_h264_decode_picture_parameter_set(h, bit_length);
> +                if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))
> +                    goto end;
>                  break;
>              case NAL_AUD:
>              case NAL_END_SEQUENCE:
> @@ -4824,7 +4828,9 @@ again:
>              }
>
>              if (context_count == h->max_contexts) {
> -                execute_decode_slices(h, context_count);
> +                ret = execute_decode_slices(h, context_count);
> +                if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))
> +                    goto end;
>                  context_count = 0;
>              }
>
> @@ -4843,8 +4849,11 @@ again:
>              }
>          }
>      }
> -    if (context_count)
> -        execute_decode_slices(h, context_count);
> +    if (context_count) {
> +        ret = execute_decode_slices(h, context_count);
> +        if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))
> +            goto end;
> +    }
>
>  end:
>      /* clean up */
> --
> 1.8.4
>

Ping

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

Reply via email to