diff --git a/libavformat/cafdec.c b/libavformat/cafdec.c index f166804795..8d39bfb831 100644 --- a/libavformat/cafdec.c +++ b/libavformat/cafdec.c @@ -348,7 +348,9 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt) /* don't read past end of data chunk */ if (caf->data_size > 0) { left = (caf->data_start + caf->data_size) - avio_tell(pb); - if (left <= 0) + if (!left) + return AVERROR_EOF; + if (left < 0) return AVERROR(EIO); }