From 711afb7d43e7e190c037289eeaa52dff2f3eceb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Fri, 10 Jul 2026 16:35:22 +0100 Subject: [PATCH] Add socket protocol+type validation - Now validates combination and throws on invalid ones. --- src/PAL/Lwip/lwIP_Sockets.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/PAL/Lwip/lwIP_Sockets.cpp b/src/PAL/Lwip/lwIP_Sockets.cpp index 74c3b3f816..942fcaa05c 100644 --- a/src/PAL/Lwip/lwIP_Sockets.cpp +++ b/src/PAL/Lwip/lwIP_Sockets.cpp @@ -374,6 +374,14 @@ SOCK_SOCKET LWIP_SOCKETS_Driver::Socket(int family, int type, int protocol) { NATIVE_PROFILE_PAL_NETWORK(); + // Validate socket type+protocol combination + if ((type == SOCK_SOCK_STREAM && protocol != SOCK_IPPROTO_TCP && protocol != SOCK_IPPROTO_IP) || + (type == SOCK_SOCK_DGRAM && protocol != SOCK_IPPROTO_UDP && protocol != SOCK_IPPROTO_IP)) + { + errorCode = EPROTONOSUPPORT; + return SOCK_SOCKET_ERROR; + } + switch (family) { case SOCK_AF_INET: