[FFmpeg-devel] [PATCH]libavformat/http: fix http error eof

raymond zheng raymondzheng1412 at gmail.com
Sat May 27 05:36:47 EEST 2017


Hi:
     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 UINT64_MAX.

    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: 2a05c8f813de6f2278827734bf8102291e7484aa
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-libavformat-http-return-EIO-when-ffurl_read-return-0.patch
Type: application/octet-stream
Size: 824 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170527/5abe0ac8/attachment.obj>


More information about the ffmpeg-devel mailing list