ws2_32: Only examine lower-order bits in getsockopt/setsockopt

Alexandre Julliard julliard at
Thu Aug 20 10:58:53 CDT 2009

Juan Lang <juan.lang at> writes:

> @@ -1779,6 +1779,8 @@ INT WINAPI WS_getsockopt(SOCKET s, INT level,
>      TRACE("socket: %04lx, level 0x%x, name 0x%x, ptr %p, len %d\n",
>            s, level, optname, optval, *optlen);
> +    /* Some apps sign-extend the level, so mask off the higher-order bits */
> +    level &= 0x0000ffff;

There can be several other ways to handle this, it needs test cases to
determine which way Windows is using.

Alexandre Julliard
julliard at

More information about the wine-devel mailing list