From 5de8d5c55956b4f275ddc3622837fe45e59de0b8 Mon Sep 17 00:00:00 2001 From: Joachim Henze Date: Fri, 2 Oct 2020 11:57:47 +0200 Subject: [PATCH] [0.4.7][DHCPSVC/IPHLPAPI] Fix 2 memory leaks CORE-14353 that are triggered repeatedly when just idling on the desktop and therefore will lure ros into inevitable BSOD after some days. fix cherry picked from 0.4.9-dev-52-g 87d3fdf99e8fa100b88af9983c15873212d9c148 and 2nd fix cherry picked from 0.4.9-dev-50-g 182a31074f610715fd286582ffc6f7fb71fee73b --- base/services/dhcpcsvc/dhcp/dhclient.c | 4 ++++ dll/win32/iphlpapi/ipstats_reactos.c | 1 + 2 files changed, 5 insertions(+) diff --git a/base/services/dhcpcsvc/dhcp/dhclient.c b/base/services/dhcpcsvc/dhcp/dhclient.c index 44ed6953dbb..ab28782bf86 100644 --- a/base/services/dhcpcsvc/dhcp/dhclient.c +++ b/base/services/dhcpcsvc/dhcp/dhclient.c @@ -595,6 +595,10 @@ bind_lease(struct interface_info *ip) /* Remember the medium. */ ip->client->new->medium = ip->client->medium; + + /* Replace the old active lease with the new one. */ + if (ip->client->active) + free_client_lease(ip->client->active); ip->client->active = ip->client->new; ip->client->new = NULL; diff --git a/dll/win32/iphlpapi/ipstats_reactos.c b/dll/win32/iphlpapi/ipstats_reactos.c index e416d4842b8..2b981c11123 100644 --- a/dll/win32/iphlpapi/ipstats_reactos.c +++ b/dll/win32/iphlpapi/ipstats_reactos.c @@ -397,6 +397,7 @@ DWORD getNumRoutes(void) TRACE("numRoutes: %d\n", (int)numRoutes); + tdiFreeThingSet( entitySet ); closeTcpFile( tcpFile ); return numRoutes;