Status = ERROR_SUCCESS;
_SEH2_TRY
{
- if (!(optlen) || (*optlen < sizeof(INT)))
+ if (!(optlen) || (*optlen < sizeof(DWORD)))
{
/* Fail */
Status = SOCKET_ERROR;
}
/* Set the open type */
- *optval = (CHAR)Thread->OpenType;
- *optlen = sizeof(INT);
+ *(DWORD*)optval = Thread->OpenType;
+ *optlen = sizeof(DWORD);
}
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{
if (level == SOL_SOCKET && optname == SO_OPENTYPE)
{
/* Validate size */
- if (optlen < sizeof(INT))
+ if (optlen < sizeof(DWORD))
{
/* Fail */
SetLastError(WSAEFAULT);
Status = ERROR_SUCCESS;
_SEH2_TRY
{
- Thread->OpenType = *optval;
+ Thread->OpenType = *(DWORD*)optval;
}
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{