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:
parent
c5876a8ba2
commit
bbc9709b48
2
ssh.c
2
ssh.c
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -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));
|
||||
|
Loading…
Reference in New Issue
Block a user