Module: wine Branch: master Commit: ab8b7ed54962d93e8aa8e4a019c9672c1bc098b4 URL: https://source.winehq.org/git/wine.git/?a=commit;h=ab8b7ed54962d93e8aa8e4a01... Author: Paul Gofman <pgofman(a)codeweavers.com> Date: Thu Mar 10 12:40:56 2022 +0300 ws2_32: Return WSAENOBUFS from setsockopt() for IPPROTO_IPV6 with negative optlen. Signed-off-by: Paul Gofman <pgofman(a)codeweavers.com> Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ws2_32/socket.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index ab0c81b311a..c666c758af2 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c @@ -3149,6 +3149,12 @@ int WINAPI setsockopt( SOCKET s, int level, int optname, const char *optval, int break; case IPPROTO_IPV6: + if (optlen < 0) + { + SetLastError( WSAENOBUFS ); + return SOCKET_ERROR; + } + switch(optname) { case IPV6_ADD_MEMBERSHIP: