Hi,

On Sun, Apr 29, 2012 at 5:56 PM, Luca Barbato <[email protected]> wrote:
> Do return error if memory allocation or I/O fails.
> ---
>  libavformat/matroskadec.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
> index 5688658..3b78ae3 100644
> --- a/libavformat/matroskadec.c
> +++ b/libavformat/matroskadec.c
> @@ -2069,6 +2069,11 @@ static int matroska_read_packet(AVFormatContext *s, 
> AVPacket *pkt)
>         ret = matroska_parse_cluster(matroska);
>     }
>
> +    if (ret == AVERROR_INVALIDDATA) {
> +        pkt->flags |= AV_PKT_FLAG_CORRUPT;
> +        return 0;
> +    }
> +
>     return ret;
>  }

Only if error resilience flags allow us to. Does this work if we
didn't finish parsing the block yet, i.e. do we drop the rest of the
data or do we recover gracefully?

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

Reply via email to