[FFmpeg-devel] [PATCH] avformat/http: return error when error occurs during gzip inflating
renwei
renw1991 at gmail.com
Thu Apr 18 12:00:17 EEST 2024
when there is error in http gizp data, return 0 will cause endless
and meanningless loop in retry_transfer_wrapper function.
---
libavformat/http.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libavformat/http.c b/libavformat/http.c
index ed20359552..6e712383c1 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -1657,10 +1657,11 @@ static int http_buf_read_compressed(URLContext *h, uint8_t *buf, int size)
s->inflate_stream.next_out = buf;
ret = inflate(&s->inflate_stream, Z_SYNC_FLUSH);
- if (ret != Z_OK && ret != Z_STREAM_END)
- av_log(h, AV_LOG_WARNING, "inflate return value: %d, %s\n",
+ if (ret != Z_OK && ret != Z_STREAM_END) {
+ av_log(h, AV_LOG_WARNING, "inflate return value: %d, %s\n",
ret, s->inflate_stream.msg);
-
+ return AVERROR(EIO);
+ }
return size - s->inflate_stream.avail_out;
}
#endif /* CONFIG_ZLIB */
--
2.39.3 (Apple Git-145)
More information about the ffmpeg-devel
mailing list