Module: wine Branch: stable Commit: 2b6c55c4531a5c0859c52925012e95d6e1df85c7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2b6c55c4531a5c0859c5292501...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Jul 21 20:31:53 2010 +0200
rpcrt4: Don't align the buffer after reading the conformance, we need to read the variance first. (cherry picked from commit ee5cada23580f4df61c9e88cd209821c43f63865)
---
dlls/rpcrt4/ndr_marshall.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/dlls/rpcrt4/ndr_marshall.c b/dlls/rpcrt4/ndr_marshall.c index 3ad55aa..db8be60 100644 --- a/dlls/rpcrt4/ndr_marshall.c +++ b/dlls/rpcrt4/ndr_marshall.c @@ -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: