diff options
author | Andreas Schneider <asn@cynapses.org> | 2010-12-27 17:52:24 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cynapses.org> | 2010-12-27 17:53:23 +0100 |
commit | 4638b353d51c86cd44af41f6f4d4cb5626bab40d (patch) | |
tree | 505377e308b1fe9e888cf7c3d9e2ba3c4317a53f | |
parent | a9f3a2f1031ecb4e9d10a470ddf1581fbcbebce9 (diff) | |
download | libssh-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.c | 5 |
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); |