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:52:24 +0100
commit7c728acd12947ecb3d910b5ca79f4d628b66e6c2 (patch)
tree743d69a65768610af7dceeb272ef311af30b3e40
parent38b87aab087039448dc6073cc11ddbb37938c56c (diff)
downloadlibssh-7c728acd12947ecb3d910b5ca79f4d628b66e6c2.tar.gz
libssh-7c728acd12947ecb3d910b5ca79f4d628b66e6c2.tar.xz
libssh-7c728acd12947ecb3d910b5ca79f4d628b66e6c2.zip
sftp: Fixed a memory leak in sftp_xstat.
Thanks to dsc for the bug report.
-rw-r--r--src/sftp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/sftp.c b/src/sftp.c
index a2b22f8..d6bfa42 100644
--- a/src/sftp.c
+++ b/src/sftp.c
@@ -3138,7 +3138,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);