[FFmpeg-devel] [PATCH 1/2] libavformat/aviobuf: Forward error from avio_read in ffio_read_size()

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Sat Oct 31 16:18:26 EET 2020


Michael Niedermayer:
> Suggested-by: Andreas Rheinhardt
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
>  libavformat/aviobuf.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
> index 80a5a565a4..3cc440e4e7 100644
> --- a/libavformat/aviobuf.c
> +++ b/libavformat/aviobuf.c
> @@ -686,6 +686,8 @@ int avio_read(AVIOContext *s, unsigned char *buf, int size)
>  int ffio_read_size(AVIOContext *s, unsigned char *buf, int size)
>  {
>      int ret = avio_read(s, buf, size);
> +    if (ret < 0 && ret != AVERROR_EOF)
> +        return ret;
>      if (ret != size)
>          return AVERROR_INVALIDDATA;
>      return ret;
> 
Maybe first check for ret == size. After all, that is supposed to be the
common case.

- Andreas


More information about the ffmpeg-devel mailing list