diff mbox series

[FFmpeg-devel,2/3] avformat/av1dec: don't return EIO when the input file is truncated

Message ID 20230604020214.1527-2-jamrial@gmail.com
State Accepted
Commit a5e45988ac6970ef43240b85b5d775f3e25d3156
Headers show
Series [FFmpeg-devel,1/3,v2] avformat/av1dec: fix EOF check in Annex-B demuxer | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

James Almer June 4, 2023, 2:02 a.m. UTC
There was no problem reading the file, so EIO is not correct.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavformat/av1dec.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/libavformat/av1dec.c b/libavformat/av1dec.c
index 79ad8a9411..501b0cc93f 100644
--- a/libavformat/av1dec.c
+++ b/libavformat/av1dec.c
@@ -134,7 +134,7 @@  static int leb(AVIOContext *pb, uint32_t *len, int eof) {
         if (pb->error)
             return pb->error;
         if (pb->eof_reached)
-            return (eof && !i) ? AVERROR_EOF : AVERROR(EIO);
+            return (eof && !i) ? AVERROR_EOF : AVERROR_INVALIDDATA;
         more = byte & 0x80;
         bits = byte & 0x7f;
         if (i <= 3 || (i == 4 && bits < (1 << 4)))
@@ -231,7 +231,7 @@  static int annexb_read_packet(AVFormatContext *s, AVPacket *pkt)
 retry:
     if (avio_feof(s->pb)) {
         if (c->temporal_unit_size || c->frame_unit_size)
-            return AVERROR(EIO);
+            return AVERROR_INVALIDDATA;
         goto end;
     }
 
@@ -260,7 +260,7 @@  retry:
     if (ret < 0)
         return ret;
     if (ret != obu_unit_size)
-        return AVERROR(EIO);
+        return AVERROR_INVALIDDATA;
 
     c->temporal_unit_size -= obu_unit_size + len;
     c->frame_unit_size -= obu_unit_size + len;