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

Alexandre Julliard julliard at winehq.org
Tue Oct 5 14:41:44 CDT 2010


Module: wine
Branch: stable
Commit: 2b6c55c4531a5c0859c52925012e95d6e1df85c7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=2b6c55c4531a5c0859c52925012e95d6e1df85c7

Author: Alexandre Julliard <julliard at 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:




More information about the wine-cvs mailing list