libavformat/aviobuf: Forward error from avio_read in ffio_read_size()

Suggested-by: Andreas Rheinhardt
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
pull/358/head
Michael Niedermayer 5 years ago
parent 441fd1bd7d
commit 66ca6d0fe8
  1. 8
      libavformat/aviobuf.c

@ -686,9 +686,11 @@ int avio_read(AVIOContext *s, unsigned char *buf, int size)
int ffio_read_size(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); int ret = avio_read(s, buf, size);
if (ret != size) if (ret == size)
return AVERROR_INVALIDDATA; return ret;
return ret; if (ret < 0 && ret != AVERROR_EOF)
return ret;
return AVERROR_INVALIDDATA;
} }
int ffio_read_indirect(AVIOContext *s, unsigned char *buf, int size, const unsigned char **data) int ffio_read_indirect(AVIOContext *s, unsigned char *buf, int size, const unsigned char **data)

Loading…
Cancel
Save