rpcrt4: Handle [out]-only non-conformant strings in stubless servers.
This commit is contained in:
parent
b24aa1c153
commit
d412bcc3ae
|
@ -999,6 +999,18 @@ static DWORD calc_arg_size(MIDL_STUB_MESSAGE *pStubMsg, PFORMAT_STRING pFormat)
|
|||
size = ComplexStructSize(pStubMsg, pFormat);
|
||||
size *= pStubMsg->MaxCount;
|
||||
break;
|
||||
case RPC_FC_C_CSTRING:
|
||||
case RPC_FC_C_WSTRING:
|
||||
if (*pFormat == RPC_FC_C_CSTRING)
|
||||
size = sizeof(CHAR);
|
||||
else
|
||||
size = sizeof(WCHAR);
|
||||
if (pFormat[1] == RPC_FC_STRING_SIZED)
|
||||
ComputeConformance(pStubMsg, NULL, pFormat + 2, 0);
|
||||
else
|
||||
pStubMsg->MaxCount = 0;
|
||||
size *= pStubMsg->MaxCount;
|
||||
break;
|
||||
default:
|
||||
FIXME("Unhandled type %02x\n", *pFormat);
|
||||
/* fallthrough */
|
||||
|
|
Loading…
Reference in New Issue