BUG FIX: When reading a directory listing that contains symlinks
with the latest libssh2, the listing would be truncated at the symlink. Fix by looping on LIBSSH2_ERROR_EAGAIN, like the rest of the calls.
This commit is contained in:
parent
235632ed2c
commit
82d3f97659
@ -1573,8 +1573,14 @@ CURLcode Curl_sftp_do(struct connectdata *conn, bool *done)
|
||||
char linkPath[PATH_MAX + 1];
|
||||
|
||||
snprintf(linkPath, PATH_MAX, "%s%s", sftp->path, filename);
|
||||
#if (LIBSSH2_APINO >= 200706012030)
|
||||
while ((len = libssh2_sftp_readlink(sftp->sftp_session, linkPath,
|
||||
filename, PATH_MAX)) ==
|
||||
LIBSSH2_ERROR_EAGAIN);
|
||||
#else /* !(LIBSSH2_APINO >= 200706012030) */
|
||||
len = libssh2_sftp_readlink(sftp->sftp_session, linkPath,
|
||||
filename, PATH_MAX);
|
||||
#endif /* !(LIBSSH2_APINO >= 200706012030) */
|
||||
line = realloc(line, totalLen + 4 + len);
|
||||
if (!line)
|
||||
return CURLE_OUT_OF_MEMORY;
|
||||
|
Loading…
Reference in New Issue
Block a user