Fix crash on entering wrong passphrase.

When I added the new call to ssh_key_invalid the other day, I forgot
to avoid calling it if the key is NULL (and therefore even more
obviously invalid).
This commit is contained in:
Simon Tatham 2019-02-11 20:20:50 +00:00
Родитель 8957e613bc
Коммит 75dda5e86f
1 изменённых файлов: 16 добавлений и 16 удалений

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

@ -853,22 +853,22 @@ static void ssh2_userauth_process_queue(PacketProtocolLayer *ppl)
s->suppress_wait_for_response_packet = true;
break; /* try something else */
}
}
/* FIXME: if we ever support variable signature
* flags, this is somewhere they'll need to be
* put */
char *invalid = ssh_key_invalid(key->key, 0);
if (invalid) {
ppl_printf("Cannot use this private key (%s)\r\n",
invalid);
ssh_key_free(key->key);
sfree(key->comment);
sfree(key);
sfree(invalid);
key = NULL;
s->suppress_wait_for_response_packet = true;
break; /* try something else */
} else {
/* FIXME: if we ever support variable signature
* flags, this is somewhere they'll need to be
* put */
char *invalid = ssh_key_invalid(key->key, 0);
if (invalid) {
ppl_printf("Cannot use this private key (%s)\r\n",
invalid);
ssh_key_free(key->key);
sfree(key->comment);
sfree(key);
sfree(invalid);
key = NULL;
s->suppress_wait_for_response_packet = true;
break; /* try something else */
}
}
}