[PATCH 4/5] ntdll: Error out when trying to use a UDP-only option on a TCP socket

Zebediah Figura (she/her) zfigura at codeweavers.com
Fri Aug 13 11:05:11 CDT 2021


On 8/13/21 12:56 AM, Alex Henrie wrote:
> Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
> ---
>   dlls/ntdll/unix/socket.c | 26 ++++++++++++++++++++++++++
>   dlls/ws2_32/socket.c     |  1 +
>   2 files changed, 27 insertions(+)
> 

Do these options not return EINVAL on a known system? What do they 
return instead? At least the commit message, if not the code, should 
mention this.

...

> diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
> index c1bbfe4d775..b6e6c53f3d3 100644
> --- a/dlls/ws2_32/socket.c
> +++ b/dlls/ws2_32/socket.c
> @@ -438,6 +438,7 @@ static DWORD NtStatusToWSAError( NTSTATUS status )
>           {STATUS_ACCESS_VIOLATION,           WSAEFAULT},
>           {STATUS_PAGEFILE_QUOTA,             WSAENOBUFS},
>           {STATUS_INVALID_HANDLE,             WSAENOTSOCK},
> +        {STATUS_INVALID_PARAMETER,          WSAEINVAL},
>           {STATUS_NO_SUCH_DEVICE,             WSAENETDOWN},
>           {STATUS_NO_SUCH_FILE,               WSAENETDOWN},
>           {STATUS_NO_MEMORY,                  WSAENOBUFS},
> 

You don't need this hunk; all errors not otherwise translated are 
converted to WSAEINVAL.



More information about the wine-devel mailing list