diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2020-10-31 10:29:56 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2020-11-04 23:30:53 +0100 |
commit | 66ca6d0fe8baf1453caaa5761fc0572665a75e78 (patch) | |
tree | 11f5a035d83ec54ce398ddd561ee61a0a9c21486 /libavformat | |
parent | 441fd1bd7d1110fc5c8291f25e429101bb190bd2 (diff) | |
download | ffmpeg-66ca6d0fe8baf1453caaa5761fc0572665a75e78.tar.gz |
libavformat/aviobuf: Forward error from avio_read in ffio_read_size()
Suggested-by: Andreas Rheinhardt
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/aviobuf.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 80a5a565a4..82c20cab52 100644 --- a/libavformat/aviobuf.c +++ b/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 ret = avio_read(s, buf, size); - if (ret != size) - return AVERROR_INVALIDDATA; - return ret; + if (ret == size) + 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) |