diff options
Diffstat (limited to 'libssh')
-rw-r--r-- | libssh/messages.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libssh/messages.c b/libssh/messages.c index d5f6d0bd..0f0aa363 100644 --- a/libssh/messages.c +++ b/libssh/messages.c @@ -380,6 +380,26 @@ void ssh_message_free(SSH_MESSAGE *msg){ free(msg->auth_request.password); } break; + case SSH_CHANNEL_REQUEST_OPEN: + if(msg->channel_request_open.originator) + free(msg->channel_request_open.originator); + if(msg->channel_request_open.destination) + free(msg->channel_request_open.destination); + break; + case SSH_CHANNEL_REQUEST: + if(msg->channel_request.TERM) + free(msg->channel_request.TERM); + if(msg->channel_request.modes) + free(msg->channel_request.modes); + if(msg->channel_request.var_name) + free(msg->channel_request.var_name); + if(msg->channel_request.var_value) + free(msg->channel_request.var_value); + if(msg->channel_request.command) + free(msg->channel_request.command); + if(msg->channel_request.subsystem) + free(msg->channel_request.subsystem); + break; } memset(msg,0,sizeof(*msg)); free(msg); |