1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 09:27:59 +00:00

Fix various segfaults and heap trashes. Thanks to Andrew Mobbs.

[originally from svn r29]
This commit is contained in:
Simon Tatham 1999-02-09 15:39:08 +00:00
parent 3b1389a474
commit ee9e246617
4 changed files with 6 additions and 7 deletions

View File

@ -73,7 +73,7 @@ void noise_get_heavy(void (*func) (void *, int)) {
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, 0, NULL);
if (seedf) {
if (seedf != INVALID_HANDLE_VALUE) {
while (1) {
char buf[1024];
DWORD len;
@ -96,7 +96,7 @@ void random_save_seed(void) {
seedf = CreateFile(seedpath, GENERIC_WRITE, 0,
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (seedf) {
if (seedf != INVALID_HANDLE_VALUE) {
int len;
DWORD lenwritten;
void *data;

4
ssh.c
View File

@ -174,8 +174,8 @@ static void s_wrpkt_start(int type, int len) {
pktout.length = len-5;
if (pktout.maxlen < biglen) {
pktout.maxlen = biglen;
pktout.data = (pktout.data == NULL ? malloc(biglen) :
realloc(pktout.data, biglen));
pktout.data = (pktout.data == NULL ? malloc(biglen+4) :
realloc(pktout.data, biglen+4));
if (!pktout.data)
fatalbox("Out of memory");
}

View File

@ -116,7 +116,6 @@ static void save_settings (char *section, int do_host) {
if (RegCreateKey(HKEY_CURRENT_USER, puttystr, &subkey1)!=ERROR_SUCCESS ||
RegCreateKey(subkey1, p, &sesskey) != ERROR_SUCCESS) {
free(p);
sesskey = NULL;
}
@ -221,7 +220,6 @@ static void load_settings (char *section, int do_host) {
if (RegOpenKey(HKEY_CURRENT_USER, puttystr, &subkey1) != ERROR_SUCCESS ||
RegOpenKey(subkey1, p, &sesskey) != ERROR_SUCCESS) {
free(p);
sesskey = NULL;
}

View File

@ -1347,7 +1347,8 @@ void set_sbar (int total, int start, int page) {
si.nMax = total - 1;
si.nPage = page;
si.nPos = start;
SetScrollInfo (hwnd, SB_VERT, &si, TRUE);
if (hwnd)
SetScrollInfo (hwnd, SB_VERT, &si, TRUE);
}
Context get_ctx() {