rpcrt4: Don't align the buffer after reading the conformance, we need to read the variance first.

This commit is contained in:
Alexandre Julliard 2010-07-21 20:31:53 +02:00
parent 17bc7be58d
commit ee5cada235
1 changed files with 0 additions and 3 deletions

View File

@ -2062,7 +2062,6 @@ static inline ULONG array_read_conformance(
unsigned char fc, PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat)
{
DWORD def, esize;
unsigned char alignment;
switch (fc)
{
@ -2087,7 +2086,6 @@ static inline ULONG array_read_conformance(
ReadConformance(pStubMsg, NULL);
return safe_multiply(esize, pStubMsg->MaxCount);
case RPC_FC_BOGUS_ARRAY:
alignment = pFormat[1] + 1;
def = *(const WORD *)(pFormat + 2);
pFormat += 4;
if (IsConformanceOrVariancePresent(pFormat)) pFormat = ReadConformance(pStubMsg, pFormat);
@ -2098,7 +2096,6 @@ static inline ULONG array_read_conformance(
}
pFormat = SkipVariance( pStubMsg, pFormat );
align_pointer(&pStubMsg->Buffer, alignment);
esize = ComplexStructSize(pStubMsg, pFormat);
return safe_multiply(pStubMsg->MaxCount, esize);
default: