From 49a598735a225c148265fa0b237909b152ba89fe Mon Sep 17 00:00:00 2001 From: midipix Date: Sun, 18 Dec 2016 14:17:49 -0500 Subject: __ntapi_sc_socket_V{1|2}: provide smooth foreign compiler support. --- src/socket/ntapi_sc_socket_v2.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/socket/ntapi_sc_socket_v2.c') diff --git a/src/socket/ntapi_sc_socket_v2.c b/src/socket/ntapi_sc_socket_v2.c index 2fc30e5..5b1493c 100644 --- a/src/socket/ntapi_sc_socket_v2.c +++ b/src/socket/ntapi_sc_socket_v2.c @@ -44,6 +44,8 @@ int32_t __cdecl __ntapi_sc_socket_v2( nt_sqos ssqos; nt_unicode_string nt_afdep; uint32_t ea_length; + uint16_t sdomain; + uint16_t stype; void * _hsocket; wchar16_t afd_end_point[] = { @@ -61,6 +63,11 @@ int32_t __cdecl __ntapi_sc_socket_v2( {0,0,0,0,0}, {0}}; + if (domain >= 0x10000) + return NT_STATUS_INVALID_PARAMETER_2; + else if (type > 0x10000) + return NT_STATUS_INVALID_PARAMETER_3; + ea_length = sizeof(afd_ea); afd_ea.sattr.domain = domain; @@ -111,10 +118,13 @@ int32_t __cdecl __ntapi_sc_socket_v2( oa.obj_name = 0; oa.obj_attr = 0; + sdomain = (uint16_t)domain; + stype = (uint16_t)type; + hssocket->hsocket = _hsocket; hssocket->ntflags = 0; - hssocket->domain = domain; - hssocket->type = type; + hssocket->domain = sdomain; + hssocket->type = stype; hssocket->protocol = protocol; hssocket->timeout.quad = 0; hssocket->iostatus = NT_STATUS_SUCCESS; -- cgit v1.2.3