From f7fe057821a66548841f6efa504eec8569f0fc3a Mon Sep 17 00:00:00 2001 From: Simon Goldschmidt Date: Wed, 27 Sep 2023 21:28:29 +0200 Subject: [PATCH] win32 pcapif: fix "heap-use-after-free" on shutdown --- contrib/ports/win32/pcapif.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/contrib/ports/win32/pcapif.c b/contrib/ports/win32/pcapif.c index 58a42b4e..6bf58f02 100644 --- a/contrib/ports/win32/pcapif.c +++ b/contrib/ports/win32/pcapif.c @@ -679,12 +679,17 @@ pcapif_shutdown(struct netif *netif) #endif /* PCAPIF_RX_USE_THREAD */ if (pa->adapter) { pcap_breakloop(pa->adapter); - pcap_close(pa->adapter); } #if PCAPIF_RX_USE_THREAD /* wait for rxthread to end */ - while(pa->rx_running); + while (pa->rx_running) { + Sleep(100); + } #endif /* PCAPIF_RX_USE_THREAD */ + if (pa->adapter) { + pcap_close(pa->adapter); + pa->adapter = NULL; + } #if PCAPIF_HANDLE_LINKSTATE pcapifh_linkstate_close(pa->link_state); #endif /* PCAPIF_HANDLE_LINKSTATE */