On Mon, Sep 7, 2015 at 12:08 PM, Alexandra Hájková
<alexandra.khirn...@gmail.com> wrote:
> ---
>  libavformat/asfdec.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
> index b7b8d6c..f7d8859 100644
> --- a/libavformat/asfdec.c
> +++ b/libavformat/asfdec.c
> @@ -1141,7 +1141,7 @@ static int asf_read_replicated_data(AVFormatContext *s, 
> ASFPacket *asf_pkt)
>      if (!asf_pkt->data_size) {
>          asf_pkt->data_size = asf_pkt->size_left = avio_rl32(pb); // read 
> media object size
>          if (asf_pkt->data_size <= 0)
> -            return AVERROR_EOF;
> +            return AVERROR_INVALIDDATA;
>          if ((ret = av_new_packet(&asf_pkt->avpkt, asf_pkt->data_size)) < 0)
>              return ret;
>      } else
> @@ -1190,6 +1190,8 @@ static int asf_read_multiple_payload(AVFormatContext 
> *s, AVPacket *pkt,
>              skip = pay_len - asf_pkt->size_left;
>              pay_len = asf_pkt->size_left;
>          }
> +        if (asf_pkt->size_left <= 0)
> +            return AVERROR_INVALIDDATA;
>          if ((ret = avio_read(pb, p, pay_len)) < 0)
>              return ret;
>          if (s->key && s->keylen == 20)
> @@ -1237,13 +1239,13 @@ static int asf_read_single_payload(AVFormatContext 
> *s, AVPacket *pkt,
>          return AVERROR_INVALIDDATA;
>      }
>      p = asf_pkt->avpkt.data + asf_pkt->data_size - asf_pkt->size_left;
> -    if (size > asf_pkt->size_left)
> +    if (size > asf_pkt->size_left || asf_pkt->size_left <= 0)
>          return AVERROR_INVALIDDATA;
>      if (asf_pkt->size_left > size)
>          asf_pkt->size_left -= size;
>      else
>          asf_pkt->size_left = 0;
> -    if ((ret = avio_read(pb, p, size)) < 0)
> +       if ((ret = avio_read(pb, p, size)) < 0)

Unrelated/wrong re-indent?

>          return ret;
>      if (s->key && s->keylen == 20)
>              ff_asfcrypt_dec(s->key, p, ret);
> --
> 2.0.1
>
> _______________________________________________
> libav-devel mailing list
> libav-devel@libav.org
> https://lists.libav.org/mailman/listinfo/libav-devel
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to