1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 01:48:00 +00:00

A collection of small bug fixes from Chris West, apparently spotted by

Coverity: assorted language-use goofs like freeing the wrong thing or
forgetting to initialise a string on all code paths.

[originally from svn r9889]
This commit is contained in:
Simon Tatham 2013-07-01 17:56:33 +00:00
parent c5876a8ba2
commit bbc9709b48
4 changed files with 4 additions and 4 deletions

2
ssh.c
View File

@ -9685,7 +9685,7 @@ static void ssh_free(void *handle)
while (ssh->qhead) {
struct queued_handler *qh = ssh->qhead;
ssh->qhead = qh->next;
sfree(ssh->qhead);
sfree(qh);
}
ssh->qhead = ssh->qtail = NULL;

View File

@ -257,8 +257,8 @@ int rsakey_pubblob(const Filename *filename, void **blob, int *bloblen,
*blob = rsa_public_blob(&key, bloblen);
freersakey(&key);
ret = 1;
fp = NULL;
}
fp = NULL; /* loadrsakey_main unconditionally closes fp */
} else {
error = "not an SSH-1 RSA file";
}
@ -679,7 +679,6 @@ struct ssh2_userkey *ssh2_load_userkey(const Filename *filename,
cipher = 0;
cipherblk = 1;
} else {
sfree(encryption);
goto error;
}

View File

@ -1597,7 +1597,7 @@ void palette_set(void *frontend, int n, int r, int g, int b)
struct gui_data *inst = (struct gui_data *)frontend;
if (n >= 16)
n += 256 - 16;
if (n > NALLCOLOURS)
if (n >= NALLCOLOURS)
return;
real_palette_set(inst, n, r, g, b);
if (n == 258) {

View File

@ -633,6 +633,7 @@ int pty_real_select_result(Pty pty, int event, int status)
if (close_on_exit == FORCE_OFF ||
(close_on_exit == AUTO && pty->exit_code != 0)) {
char message[512];
message[0] = '\0';
if (WIFEXITED(pty->exit_code))
sprintf(message, "\r\n[pterm: process terminated with exit"
" code %d]\r\n", WEXITSTATUS(pty->exit_code));