diff options
Diffstat (limited to 'libssh')
-rw-r--r-- | libssh/sftp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libssh/sftp.c b/libssh/sftp.c index a3b0a198..250c093f 100644 --- a/libssh/sftp.c +++ b/libssh/sftp.c @@ -2339,8 +2339,9 @@ int sftp_rename(sftp_session sftp, const char *original, const char *newname) { if (buffer_add_u32(buffer, id) < 0 || buffer_add_ssh_string(buffer, oldpath) < 0 || buffer_add_ssh_string(buffer, newpath) < 0 || - /* POSIX rename atomically replaces newpath, we should do the same */ - buffer_add_u32(buffer, SSH_FXF_RENAME_OVERWRITE) < 0) { + /* POSIX rename atomically replaces newpath, we should do the same + * only available on >=v4 */ + sftp->version>=4 ? (buffer_add_u32(buffer, SSH_FXF_RENAME_OVERWRITE) < 0):0) { ssh_set_error_oom(sftp->session); ssh_buffer_free(buffer); ssh_string_free(oldpath); |