1
1
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@440 7dcaeef0-15fb-0310-b436-a5af3365683c
Этот коммит содержится в:
Andreas Schneider 2009-04-09 10:31:12 +00:00
родитель e9a7d98eac
Коммит 04ab5c1b82
2 изменённых файлов: 25 добавлений и 32 удалений

Просмотреть файл

@ -489,37 +489,31 @@ void ssh_message_free(SSH_MESSAGE *msg){
if (msg == NULL) {
return;
}
switch(msg->type){
case SSH_AUTH_REQUEST:
if(msg->auth_request.username)
free(msg->auth_request.username);
if(msg->auth_request.password){
memset(msg->auth_request.password,0,strlen(msg->auth_request.password));
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));
switch(msg->type) {
case SSH_AUTH_REQUEST:
SAFE_FREE(msg->auth_request.username);
if (msg->auth_request.password) {
memset(msg->auth_request.password, 0,
strlen(msg->auth_request.password));
SAFE_FREE(msg->auth_request.password);
}
break;
case SSH_CHANNEL_REQUEST_OPEN:
SAFE_FREE(msg->channel_request_open.originator);
SAFE_FREE(msg->channel_request_open.destination);
break;
case SSH_CHANNEL_REQUEST:
SAFE_FREE(msg->channel_request.TERM);
SAFE_FREE(msg->channel_request.modes);
SAFE_FREE(msg->channel_request.var_name);
SAFE_FREE(msg->channel_request.var_value);
SAFE_FREE(msg->channel_request.command);
SAFE_FREE(msg->channel_request.subsystem);
break;
}
memset(msg, 0, sizeof(*msg));
SAFE_FREE(msg);
}
/** @}
*/

Просмотреть файл

@ -128,7 +128,6 @@ void ssh_cleanup(SSH_SESSION *session) {
private_key_free(session->dsa_key);
private_key_free(session->rsa_key);
ssh_message_free(session->ssh_message);
SAFE_FREE(session->ssh_message);
ssh_options_free(session->options);
/* burn connection, it could hang sensitive datas */