-
Kevin Puetz authored
In cases where this could have been use-after-free, exceptions were caught/hidden by RpcTryFinally, but still lead to leaks since NdrProxyFreeBuffer wasn't able to call IRPCChannelBuffer::FreeBuffer. StdProxy_GetChannel() now AddRef() on its return value (used to set __proxy_frame::_StubMsg::pRpcChannelBuffer), and NdrProxyFreeBuffer() calls the corresponding Release() and clears the now-weak pointer. This makes the behavior of these function match the observed test results, and fixes the crash/leak when a proxy is released mid-Invoke.
a7be4256
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
Makefile.in | ||
cstub.c | ||
cstub.idl | ||
generated.c | ||
ndr_marshall.c | ||
rpc.c | ||
rpc_async.c | ||
server.c | ||
server.idl | ||
server_defines.h | ||
server_interp.idl |