Alexandre Julliard : rpcrt4: Preserve the previous MaxCount value when computing variance through a callback .

Alexandre Julliard julliard at winehq.org
Tue Jun 14 11:57:49 CDT 2011


Module: wine
Branch: master
Commit: fa847909f2ae6a8118c300809c77d12e317dea3a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fa847909f2ae6a8118c300809c77d12e317dea3a

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Jun 14 12:57:30 2011 +0200

rpcrt4: Preserve the previous MaxCount value when computing variance through a callback.

---

 dlls/rpcrt4/ndr_marshall.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/dlls/rpcrt4/ndr_marshall.c b/dlls/rpcrt4/ndr_marshall.c
index 1e99c2e..c62675d 100644
--- a/dlls/rpcrt4/ndr_marshall.c
+++ b/dlls/rpcrt4/ndr_marshall.c
@@ -590,6 +590,8 @@ PFORMAT_STRING ComputeConformanceOrVariance(
   case RPC_FC_CALLBACK:
   {
     unsigned char *old_stack_top = pStubMsg->StackTop;
+    ULONG_PTR max_count, old_max_count = pStubMsg->MaxCount;
+
     pStubMsg->StackTop = ptr;
 
     /* ofs is index into StubDesc->apfnExprEval */
@@ -599,7 +601,9 @@ PFORMAT_STRING ComputeConformanceOrVariance(
     pStubMsg->StackTop = old_stack_top;
 
     /* the callback function always stores the computed value in MaxCount */
-    *pCount = pStubMsg->MaxCount;
+    max_count = pStubMsg->MaxCount;
+    pStubMsg->MaxCount = old_max_count;
+    *pCount = max_count;
     goto finish_conf;
   }
   default:




More information about the wine-cvs mailing list