[FFmpeg-devel] [PATCH]libavformat/http: fix http error eof
Ronald S. Bultje
rsbultje at gmail.com
Sat May 27 14:24:19 EEST 2017
On Fri, May 26, 2017 at 10:36 PM, raymond zheng <raymondzheng1412 at gmail.com>
> I find an issue about http. I don't use chunked, so s->chunksize
> will be set as UINT64_MAX when http open, but because of "if
> (s->chunksize > 0) s->chunksize -= len;" then chunksize will not be
> If ffurl_read return to 0, s->off < target_end, http_buf_read will
> return to 0, then this will lead to eof, so this is incorrect, and
> http_buf_read should return to AVERROR(EIO).
> the bug reproduce step：
> 1. An exception occurred in the CDN edge server, that will lead to close
> the http connection.
> 2. Because http is disconnected, so ffurl_read will return 0
> 3. Avformat will consider I/O is eof
> 4. Right now http is actually disconnect abnormally, it should return to
> ERROR, rather than return to EOF.
> this problem was caused by commit: 2a05c8f813de6f2278827734bf8102
What if the server legitimately responds that the chunksize is actually
UINT64_MAX? I almost feel like these special values should be replaced by a
More information about the ffmpeg-devel