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

Add further missing delete_callbacks_for_context.

Having explicitly _stated_ in commit 4dcc0fddf the principle that if
you ever queue a toplevel callback on a freeable object then you
should also call delete_callbacks_for_context on that object before
freeing it, I realised I'd never actually gone through and checked
methodically at every call site of queue_toplevel_callback. So I did,
and naturally, I found several missing ones.
This commit is contained in:
Simon Tatham 2019-04-20 08:20:34 +01:00
parent 4dcc0fddf7
commit 108baae60e
4 changed files with 7 additions and 0 deletions

View File

@ -521,6 +521,9 @@ static void scp_source_free(ScpServer *s)
scp->head = node->next;
sfree(node);
}
delete_callbacks_for_context(scp);
sfree(scp);
}

View File

@ -1804,6 +1804,7 @@ void term_free(Terminal *term)
sfree(term->tabs);
expire_timer_context(term);
delete_callbacks_for_context(term);
conf_free(term->conf);

View File

@ -128,6 +128,8 @@ static void sk_handle_close(Socket *s)
CloseHandle(hs->recv_H);
bufchain_clear(&hs->inputdata);
delete_callbacks_for_context(hs);
sfree(hs);
}

View File

@ -1344,6 +1344,7 @@ static void sk_net_close(Socket *sock)
p_closesocket(s->s);
if (s->addr)
sk_addr_free(s->addr);
delete_callbacks_for_context(s);
sfree(s);
}