diff options
author | Mark Riordan <mriordan@ipswitch.com> | 2011-04-08 10:59:05 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2011-04-08 11:00:04 +0200 |
commit | 6a0daddd8f2805f9dc0044f24f92ec2041f96832 (patch) | |
tree | 234e380e89f39dfb48f9258afe00f5efea1d4f47 | |
parent | af997b221d19bb66529066cd7f63e2c5f0a9a353 (diff) | |
download | libssh-6a0daddd8f2805f9dc0044f24f92ec2041f96832.tar.gz libssh-6a0daddd8f2805f9dc0044f24f92ec2041f96832.tar.xz libssh-6a0daddd8f2805f9dc0044f24f92ec2041f96832.zip |
sftp: Fixed double-free in sftp_unlink().
(cherry picked from commit 29bb718a93969ef429e86f3bb1734d2548846d46)
-rw-r--r-- | src/sftp.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -2109,10 +2109,12 @@ int sftp_unlink(sftp_session sftp, const char *file) { ssh_set_error_oom(sftp->session); ssh_buffer_free(buffer); ssh_string_free(filename); + return -1; } if (sftp_packet_write(sftp, SSH_FXP_REMOVE, buffer) < 0) { ssh_buffer_free(buffer); ssh_string_free(filename); + return -1; } ssh_string_free(filename); ssh_buffer_free(buffer); @@ -2846,7 +2848,7 @@ sftp_statvfs_t sftp_statvfs(sftp_session sftp, const char *path) { ssh_set_error(sftp,SSH_REQUEST_DENIED,"sftp version %d does not support sftp_statvfs",sftp->version); return NULL; } - + buffer = ssh_buffer_new(); if (buffer == NULL) { ssh_set_error_oom(sftp->session); |