From d9800a5f743e586b5622d97fdc7e40a59ec9ee88 Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Mon, 17 Sep 2018 17:23:23 +0200 Subject: [PATCH] - Windows Ethernet Hal: fixed memory leak --- hal/ethernet/win32/ethernet_win32.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hal/ethernet/win32/ethernet_win32.c b/hal/ethernet/win32/ethernet_win32.c index a005c7c7..d2a1f2f5 100644 --- a/hal/ethernet/win32/ethernet_win32.c +++ b/hal/ethernet/win32/ethernet_win32.c @@ -313,6 +313,8 @@ Ethernet_getInterfaceMACAddress(const char* interfaceId, uint8_t* addr) char* interfaceName = getInterfaceName((int) interfaceIndex); getAdapterMacAddress(interfaceName, addr); + + free(interfaceName); } @@ -329,9 +331,12 @@ Ethernet_createSocket(const char* interfaceId, uint8_t* destAddress) if ((pcapSocket = pcap_open_live(interfaceName, 65536, PCAP_OPENFLAG_PROMISCUOUS, 10, errbuf)) == NULL) { printf("Open ethernet socket failed for device %s\n", interfaceName); + free(interfaceName); return NULL; } + free(interfaceName); + EthernetSocket ethernetSocket = (EthernetSocket) calloc(1, sizeof(struct sEthernetSocket)); ethernetSocket->rawSocket = pcapSocket;