1
1

Fix bugs found by clang analyzer

Этот коммит содержится в:
Aris Adamantiadis 2010-04-28 18:43:41 +02:00
родитель 2e563e0fa8
Коммит 20e7ec96ae
3 изменённых файлов: 16 добавлений и 16 удалений

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

@ -202,7 +202,7 @@ char **space_tokenize(const char *chain){
/* find_matching gets 2 parameters : a list of available objects (available_d), separated by colons,*/
/* and a list of preferred objects (preferred_d) */
/* it will return a strduped pointer on the first prefered object found in the available objects list */
/* it will return a strduped pointer on the first preferred object found in the available objects list */
char *ssh_find_matching(const char *available_d, const char *preferred_d){
char ** tok_available, **tok_preferred;
@ -222,6 +222,7 @@ char *ssh_find_matching(const char *available_d, const char *preferred_d){
if (tok_preferred == NULL) {
SAFE_FREE(tok_available[0]);
SAFE_FREE(tok_available);
return NULL;
}
for(i_pref=0; tok_preferred[i_pref] ; ++i_pref){
@ -230,18 +231,18 @@ char *ssh_find_matching(const char *available_d, const char *preferred_d){
/* match */
ret=strdup(tok_available[i_avail]);
/* free the tokens */
free(tok_available[0]);
free(tok_preferred[0]);
free(tok_available);
free(tok_preferred);
SAFE_FREE(tok_available[0]);
SAFE_FREE(tok_preferred[0]);
SAFE_FREE(tok_available);
SAFE_FREE(tok_preferred);
return ret;
}
}
}
free(tok_available[0]);
free(tok_preferred[0]);
free(tok_available);
free(tok_preferred);
SAFE_FREE(tok_available[0]);
SAFE_FREE(tok_preferred[0]);
SAFE_FREE(tok_available);
SAFE_FREE(tok_preferred);
return NULL;
}

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

@ -593,12 +593,13 @@ static int pem_get_password(char *buf, int size, int rwflag, void *userdata) {
/* unused flag */
(void) rwflag;
ZERO_STRUCTP(buf);
if(buf==NULL)
return 0;
memset(buf,'\0',size);
ssh_log(session, SSH_LOG_RARE,
"Trying to call external authentication function");
if (session && session->callbacks->auth_function) {
if (session && session->callbacks && session->callbacks->auth_function) {
if (session->callbacks->auth_function("Passphrase for private key:", buf, size, 0, 0,
session->callbacks->userdata) < 0) {
return 0;

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

@ -104,12 +104,10 @@ static void sftp_ext_free(sftp_ext ext) {
sftp_session sftp_new(ssh_session session){
sftp_session sftp;
enter_function();
if (session == NULL) {
leave_function();
return NULL;
}
enter_function();
sftp = malloc(sizeof(struct sftp_session_struct));
if (sftp == NULL) {
@ -123,7 +121,7 @@ sftp_session sftp_new(ssh_session session){
if (sftp->ext == NULL) {
ssh_set_error_oom(session);
SAFE_FREE(sftp);
sftp_leave_function();
leave_function();
return NULL;
}