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

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

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