From 7dc64d4e0da754e91f8d665fff87dd5fd3c097ea Mon Sep 17 00:00:00 2001 From: "Evgeny Grin (Karlson2k)" Date: Sun, 14 Jul 2024 12:56:30 +0200 Subject: [PATCH] Follow-up for 631d550d6ed81be0ebd5a06e107868e5153da430 --- src/mhd2/mhd_socket_error.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/mhd2/mhd_socket_error.c b/src/mhd2/mhd_socket_error.c index 0ab55515..2355e7f3 100644 --- a/src/mhd2/mhd_socket_error.c +++ b/src/mhd2/mhd_socket_error.c @@ -62,21 +62,18 @@ mhd_socket_error_get_from_sys_err (int socket_err) MHD_INTERNAL enum mhd_SocketError mhd_socket_error_get_from_socket (MHD_Socket fd) { -#if defined(SOL_SOCKET) && (defined(SO_ERROR) || defined(SOCKET_ERROR)) +#if defined(SOL_SOCKET) && defined(SO_ERROR) enum mhd_SocketError err; int sock_err; socklen_t optlen = sizeof (sock_err); sock_err = 0; - if (0 == getsockopt (fd, - SOL_SOCKET, -#if defined(SO_ERROR) - SO_ERROR, -#else - SOCKET_ERROR, -#endif - (void *) &sock_err, - &optlen)) + if ((0 == getsockopt (fd, + SOL_SOCKET, + SO_ERROR, + (void *) &sock_err, + &optlen)) + && (sizeof(sock_err) == optlen)) return mhd_socket_error_get_from_sys_err (sock_err); err = mhd_socket_error_get_from_sys_err (mhd_SCKT_GET_LERR ());