aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cynapses.org>2010-12-27 17:52:24 +0100
committerAndreas Schneider <asn@cynapses.org>2010-12-27 17:53:23 +0100
commit4638b353d51c86cd44af41f6f4d4cb5626bab40d (patch)
tree505377e308b1fe9e888cf7c3d9e2ba3c4317a53f
parenta9f3a2f1031ecb4e9d10a470ddf1581fbcbebce9 (diff)
downloadlibssh-4638b353d51c86cd44af41f6f4d4cb5626bab40d.tar.gz
libssh-4638b353d51c86cd44af41f6f4d4cb5626bab40d.tar.xz
libssh-4638b353d51c86cd44af41f6f4d4cb5626bab40d.zip
sftp: Fixed a memory leak in sftp_xstat.
Thanks to dsc for the bug report. (cherry picked from commit 7c728acd12947ecb3d910b5ca79f4d628b66e6c2)
-rw-r--r--libssh/sftp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libssh/sftp.c b/libssh/sftp.c
index ace8df9e..ae2d846e 100644
--- a/libssh/sftp.c
+++ b/libssh/sftp.c
@@ -3123,7 +3123,10 @@ static sftp_attributes sftp_xstat(sftp_session sftp, const char *path,
}
if (msg->packet_type == SSH_FXP_ATTRS) {
- return sftp_parse_attr(sftp, msg->payload, 0);
+ sftp_attributes attr = sftp_parse_attr(sftp, msg->payload, 0);
+ sftp_message_free(msg);
+
+ return attr;
} else if (msg->packet_type == SSH_FXP_STATUS) {
status = parse_status_msg(msg);
sftp_message_free(msg);