From b1085eed744eab0c894a5306d822c9241bcf0228 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Thu, 28 May 2026 16:11:51 -0400
Subject: [PATCH] udp: Added a few defensive NULL checks.
Fixes #173.
---
src/SDLnetUDP.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/SDLnetUDP.c b/src/SDLnetUDP.c
index 78c6b60..ac4a261 100644
--- a/src/SDLnetUDP.c
+++ b/src/SDLnetUDP.c
@@ -287,7 +287,7 @@ int SDLNet_UDP_Bind(UDPsocket sock, int channel, const IPaddress *address)
/* Unbind all addresses from the given channel */
void SDLNet_UDP_Unbind(UDPsocket sock, int channel)
{
- if ( (channel >= 0) && (channel < SDLNET_MAX_UDPCHANNELS) ) {
+ if ( sock && (channel >= 0) && (channel < SDLNET_MAX_UDPCHANNELS) ) {
sock->binding[channel].numbound = 0;
}
}
@@ -301,9 +301,13 @@ void SDLNet_UDP_Unbind(UDPsocket sock, int channel)
*/
IPaddress *SDLNet_UDP_GetPeerAddress(UDPsocket sock, int channel)
{
- IPaddress *address;
+ IPaddress *address = NULL;
+
+ if ( sock == NULL ) {
+ SDLNet_SetError("Passed a NULL socket");
+ return NULL;
+ }
- address = NULL;
switch (channel) {
case -1:
/* Return the actual address of the socket */