]> git.sesse.net Git - ffmpeg/commitdiff
libavformat/aviobuf: Forward error from avio_read in ffio_read_size()
authorMichael Niedermayer <michael@niedermayer.cc>
Sat, 31 Oct 2020 09:29:56 +0000 (10:29 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 4 Nov 2020 22:30:53 +0000 (23:30 +0100)
Suggested-by: Andreas Rheinhardt
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/aviobuf.c

index 80a5a565a4623a9a4a877eabfa5138dd465f25e1..82c20cab5224ff28eaa2ef575dea454182f98757 100644 (file)
@@ -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)