mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-11-29 01:03:57 +03:00
messages: Don't leak memory after callback execution
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
@@ -524,6 +524,25 @@ void ssh_message_free(ssh_message msg){
|
|||||||
SAFE_FREE(msg->channel_request.var_value);
|
SAFE_FREE(msg->channel_request.var_value);
|
||||||
SAFE_FREE(msg->channel_request.command);
|
SAFE_FREE(msg->channel_request.command);
|
||||||
SAFE_FREE(msg->channel_request.subsystem);
|
SAFE_FREE(msg->channel_request.subsystem);
|
||||||
|
switch (msg->channel_request.type) {
|
||||||
|
case SSH_CHANNEL_REQUEST_EXEC:
|
||||||
|
SAFE_FREE(msg->channel_request.command);
|
||||||
|
break;
|
||||||
|
case SSH_CHANNEL_REQUEST_ENV:
|
||||||
|
SAFE_FREE(msg->channel_request.var_name);
|
||||||
|
SAFE_FREE(msg->channel_request.var_value);
|
||||||
|
break;
|
||||||
|
case SSH_CHANNEL_REQUEST_PTY:
|
||||||
|
SAFE_FREE(msg->channel_request.TERM);
|
||||||
|
break;
|
||||||
|
case SSH_CHANNEL_REQUEST_SUBSYSTEM:
|
||||||
|
SAFE_FREE(msg->channel_request.subsystem);
|
||||||
|
break;
|
||||||
|
case SSH_CHANNEL_REQUEST_X11:
|
||||||
|
SAFE_FREE(msg->channel_request.x11_auth_protocol);
|
||||||
|
SAFE_FREE(msg->channel_request.x11_auth_cookie);
|
||||||
|
break;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SSH_REQUEST_SERVICE:
|
case SSH_REQUEST_SERVICE:
|
||||||
SAFE_FREE(msg->service_request.service);
|
SAFE_FREE(msg->service_request.service);
|
||||||
|
|||||||
Reference in New Issue
Block a user