From 563eb5f0fa6f52dc7d4903d1a1e3e1476c2343d6 Mon Sep 17 00:00:00 2001 From: Mykhailo Parfeniuk Date: Tue, 27 Jan 2026 15:11:14 +0200 Subject: [PATCH 1/3] Fix disconnects caused by unintialized variables. In case of IPv4, IPv6 part was uninitialized and stack content changed in some cases which in turn prevented hash map lookup and subsequently loosing all packets, up to disconnect. --- netcode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netcode.c b/netcode.c index 5ffc923..b67ddc1 100755 --- a/netcode.c +++ b/netcode.c @@ -799,7 +799,7 @@ int netcode_socket_receive_packet( struct netcode_socket_t * socket, struct netc typedef int socklen_t; #endif // #if NETCODE_PLATFORM == NETCODE_PLATFORM_WINDOWS - struct sockaddr_storage sockaddr_from; + struct sockaddr_storage sockaddr_from = {0}; socklen_t from_length = sizeof( sockaddr_from ); int result = recvfrom( socket->handle, (char*) packet_data, max_packet_size, 0, (struct sockaddr*) &sockaddr_from, &from_length ); @@ -4676,7 +4676,7 @@ void netcode_server_receive_packets( struct netcode_server_t * server ) while ( 1 ) { - struct netcode_address_t from; + struct netcode_address_t from = {0}; uint8_t packet_data[NETCODE_MAX_PACKET_BYTES]; From 8cc67ef7606c2fded126cab0a72eedc1b6e3a88c Mon Sep 17 00:00:00 2001 From: Mykhailo Parfeniuk Date: Tue, 27 Jan 2026 17:59:53 +0200 Subject: [PATCH 2/3] Fix compilation errors --- netcode.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/netcode.c b/netcode.c index b67ddc1..feb13ad 100755 --- a/netcode.c +++ b/netcode.c @@ -799,7 +799,9 @@ int netcode_socket_receive_packet( struct netcode_socket_t * socket, struct netc typedef int socklen_t; #endif // #if NETCODE_PLATFORM == NETCODE_PLATFORM_WINDOWS - struct sockaddr_storage sockaddr_from = {0}; + struct sockaddr_storage sockaddr_from; + memset(&sockaddr_from, 0, sizeof(sockaddr_from)); + socklen_t from_length = sizeof( sockaddr_from ); int result = recvfrom( socket->handle, (char*) packet_data, max_packet_size, 0, (struct sockaddr*) &sockaddr_from, &from_length ); @@ -4676,8 +4678,9 @@ void netcode_server_receive_packets( struct netcode_server_t * server ) while ( 1 ) { - struct netcode_address_t from = {0}; - + struct netcode_address_t from; + memset(&from, 0, sizeof(from)); + uint8_t packet_data[NETCODE_MAX_PACKET_BYTES]; int packet_bytes = 0; From 0fca132240d0abb9fff9c7cfbfa5d040d5718577 Mon Sep 17 00:00:00 2001 From: Glenn Fiedler Date: Wed, 28 Jan 2026 14:00:27 -0500 Subject: [PATCH 3/3] Update netcode.c Signed-off-by: Glenn Fiedler --- netcode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netcode.c b/netcode.c index feb13ad..bb4ee50 100755 --- a/netcode.c +++ b/netcode.c @@ -800,7 +800,7 @@ int netcode_socket_receive_packet( struct netcode_socket_t * socket, struct netc #endif // #if NETCODE_PLATFORM == NETCODE_PLATFORM_WINDOWS struct sockaddr_storage sockaddr_from; - memset(&sockaddr_from, 0, sizeof(sockaddr_from)); + memset( &sockaddr_from, 0, sizeof(sockaddr_from) ); socklen_t from_length = sizeof( sockaddr_from ); @@ -4679,7 +4679,7 @@ void netcode_server_receive_packets( struct netcode_server_t * server ) while ( 1 ) { struct netcode_address_t from; - memset(&from, 0, sizeof(from)); + memset( &from, 0, sizeof(from) ); uint8_t packet_data[NETCODE_MAX_PACKET_BYTES];