From 8a3c417e14e1b4ae65bfc4941816ea511926265f Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 22 Apr 2009 15:09:54 +0000 Subject: Improve sftp_message_free(). git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@575 7dcaeef0-15fb-0310-b436-a5af3365683c --- libssh/sftp.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'libssh') diff --git a/libssh/sftp.c b/libssh/sftp.c index d3b06752..abbaaf49 100644 --- a/libssh/sftp.c +++ b/libssh/sftp.c @@ -305,13 +305,20 @@ static SFTP_MESSAGE *sftp_message_new(SFTP_SESSION *sftp){ return msg; } -static void sftp_message_free(SFTP_MESSAGE *msg){ - SFTP_SESSION *sftp=msg->sftp; - sftp_enter_function(); - if(msg->payload) - buffer_free(msg->payload); - free(msg); - sftp_leave_function(); +static void sftp_message_free(SFTP_MESSAGE *msg) { + SFTP_SESSION *sftp; + + if (msg == NULL) { + return; + } + + sftp = msg->sftp; + sftp_enter_function(); + + buffer_free(msg->payload); + SAFE_FREE(msg); + + sftp_leave_function(); } static SFTP_MESSAGE *sftp_get_message(SFTP_PACKET *packet){ -- cgit