Yet another case of forgotten 0 =! EOF translation. While the documentation for this specific synchronous read function does not mention it, the documentation for `sftp_async_read` documents it, as well as looking at the implementation of this function leads one to find `if (handle->eof) { return 0; }`.
Reported by stnutt on IRC. --- libavformat/libssh.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/libssh.c b/libavformat/libssh.c index 9e3d4da45e..21474f0f0a 100644 --- a/libavformat/libssh.c +++ b/libavformat/libssh.c @@ -295,7 +295,7 @@ static int libssh_read(URLContext *h, unsigned char *buf, int size) av_log(libssh, AV_LOG_ERROR, "Read error.\n"); return AVERROR(EIO); } - return bytes_read; + return bytes_read ? bytes_read : AVERROR_EOF; } static int libssh_write(URLContext *h, const unsigned char *buf, int size) -- 2.17.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel