Jacek Caban : rpcrt4: Fix context handle return value marshaling.
Alexandre Julliard
julliard at winehq.org
Fri Jan 25 16:29:08 CST 2019
Module: wine
Branch: master
Commit: b6c48de699a11097b9557d045c0aa78758d615a8
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b6c48de699a11097b9557d045c0aa78758d615a8
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Jan 25 12:01:16 2019 +0100
rpcrt4: Fix context handle return value marshaling.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/rpcrt4/ndr_stubless.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/dlls/rpcrt4/ndr_stubless.c b/dlls/rpcrt4/ndr_stubless.c
index c2f260c..813d7e8 100644
--- a/dlls/rpcrt4/ndr_stubless.c
+++ b/dlls/rpcrt4/ndr_stubless.c
@@ -1232,6 +1232,7 @@ static LONG_PTR *stub_do_args(MIDL_STUB_MESSAGE *pStubMsg,
{
NDR_SCONTEXT ctxt = NdrContextHandleInitialize(pStubMsg, pTypeFormat);
*(void **)pArg = NDRSContextValue(ctxt);
+ if (params[i].attr.IsReturn) retval_ptr = (LONG_PTR *)NDRSContextValue(ctxt);
}
else
{
@@ -1243,6 +1244,7 @@ static LONG_PTR *stub_do_args(MIDL_STUB_MESSAGE *pStubMsg,
}
}
}
+ if (!retval_ptr && params[i].attr.IsReturn) retval_ptr = (LONG_PTR *)pArg;
break;
case STUBLESS_UNMARSHAL:
if (params[i].attr.ServerAllocSize)
@@ -1260,9 +1262,6 @@ static LONG_PTR *stub_do_args(MIDL_STUB_MESSAGE *pStubMsg,
RpcRaiseException(RPC_S_INTERNAL_ERROR);
}
TRACE("\tmemory addr (after): %p -> %p\n", pArg, *(unsigned char **)pArg);
-
- /* make a note of the address of the return value parameter for later */
- if (params[i].attr.IsReturn) retval_ptr = (LONG_PTR *)pArg;
}
return retval_ptr;
}
More information about the wine-cvs
mailing list