Module: wine Branch: master Commit: 64d1e2d8e3c5f570be41f7fd568915111dd784f9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=64d1e2d8e3c5f570be41f7fd56...
Author: Rob Shearman rob@codeweavers.com Date: Sat Dec 22 01:39:56 2007 +0000
rpcrt4: Set pStubMsg->BufferMark in NdrConformantVaryingArrayUnmarshall and NdrVaryingArrayUnmarshall.
pStubMsg->BufferMark should always be set before EmbeddedPointerUnmarshall is called and these functions didn't previously do so.
---
dlls/rpcrt4/ndr_marshall.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/dlls/rpcrt4/ndr_marshall.c b/dlls/rpcrt4/ndr_marshall.c index c5cebea..2db0212 100644 --- a/dlls/rpcrt4/ndr_marshall.c +++ b/dlls/rpcrt4/ndr_marshall.c @@ -2885,6 +2885,7 @@ unsigned char* WINAPI NdrConformantVaryingArrayUnmarshall( PMIDL_STUB_MESSAGE pS
if (!*ppMemory || fMustAlloc) *ppMemory = NdrAllocate(pStubMsg, memsize); + pStubMsg->BufferMark = pStubMsg->Buffer; safe_copy_from_buffer(pStubMsg, *ppMemory + pStubMsg->Offset, bufsize);
EmbeddedPointerUnmarshall(pStubMsg, *ppMemory, *ppMemory, pFormat, TRUE /* FIXME */); @@ -4515,6 +4516,7 @@ unsigned char * WINAPI NdrVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,
if (!*ppMemory || fMustAlloc) *ppMemory = NdrAllocate(pStubMsg, size); + pStubMsg->BufferMark = pStubMsg->Buffer; safe_copy_from_buffer(pStubMsg, *ppMemory + pStubMsg->Offset, bufsize);
EmbeddedPointerUnmarshall(pStubMsg, *ppMemory, *ppMemory, pFormat, TRUE /* FIXME */);