SDL_net: winsock: Fix a potential memleak in GetAdaptersInfo calls. (83ba3)

From 83ba32df29225b0f29be1a6d66e678b1b1cb01ac Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Sun, 22 Oct 2023 09:49:27 -0400
Subject: [PATCH] winsock: Fix a potential memleak in GetAdaptersInfo calls.

Thanks to Jean-Baptiste Noblot, who submitted the original patch to our
Bugzilla in January 2015. Sorry for the delay!  :)

Fixes #27.
---
 SDLnet.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/SDLnet.c b/SDLnet.c
index f60c2c8..e0ec84c 100644
--- a/SDLnet.c
+++ b/SDLnet.c
@@ -224,10 +224,12 @@ int SDLNet_GetLocalAddresses(IPaddress *addresses, int maxcount)
 	}
 
 	if ((dwRetVal = GetAdaptersInfo(pAdapterInfo, &ulOutBufLen)) == ERROR_BUFFER_OVERFLOW) {
-		pAdapterInfo = (IP_ADAPTER_INFO *) SDL_realloc(pAdapterInfo, ulOutBufLen);
-		if (pAdapterInfo == NULL) {
+		PIP_ADAPTER_INFO pAdapterInfoTmp = (PIP_ADAPTER_INFO) SDL_realloc(pAdapterInfo, ulOutBufLen);
+		if (pAdapterInfoTmp == NULL) {
+			SDL_free(pAdapterInfo);
 			return 0;
 		}
+		pAdapterInfo = pAdapterInfoTmp;
 		dwRetVal = GetAdaptersInfo(pAdapterInfo, &ulOutBufLen);
 	}