[PATCH 1/7] ws2_32: Return WSAEFAULT from setsockopt() for IP_MULTICAST_LOOP with zero optlen.

Zebediah Figura zfigura at codeweavers.com
Tue Mar 8 10:59:14 CST 2022


On 3/8/22 03:22, Paul Gofman wrote:
> Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
> ---
>   dlls/ws2_32/socket.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
> index dacb41a0403..816ca828b90 100644
> --- a/dlls/ws2_32/socket.c
> +++ b/dlls/ws2_32/socket.c
> @@ -2981,6 +2981,11 @@ int WINAPI setsockopt( SOCKET s, int level, int optname, const char *optval, int
>               return server_setsockopt( s, IOCTL_AFD_WINE_SET_IP_MULTICAST_IF, optval, optlen );
>   
>           case IP_MULTICAST_LOOP:
> +            if (!optlen)
> +            {
> +                SetLastError( WSAEFAULT );
> +                return -1;
> +            }
>               return server_setsockopt( s, IOCTL_AFD_WINE_SET_IP_MULTICAST_LOOP, optval, optlen );
>   
>           case IP_MULTICAST_TTL:

Maybe I'm missing something, but given the tests in 4/7, couldn't this 
be simplified by handling it outside of the inner switch, like in 
9744055cf4?



More information about the wine-devel mailing list