Rob Shearman : ole32: Clean up properly in ClientRpcChannelBuffer_SendReceive in the case where PostMessageW fails .
Alexandre Julliard
julliard at winehq.org
Tue Nov 27 09:54:28 CST 2007
Module: wine
Branch: master
Commit: ddf59f50f77448f7ba2d240e93eb3e8ed535c1ea
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ddf59f50f77448f7ba2d240e93eb3e8ed535c1ea
Author: Rob Shearman <rob at codeweavers.com>
Date: Mon Nov 26 22:50:48 2007 +0000
ole32: Clean up properly in ClientRpcChannelBuffer_SendReceive in the case where PostMessageW fails.
---
dlls/ole32/rpc.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c
index d4e6bfd..40330d4 100644
--- a/dlls/ole32/rpc.c
+++ b/dlls/ole32/rpc.c
@@ -796,6 +796,14 @@ static HRESULT WINAPI ClientRpcChannelBuffer_SendReceive(LPRPCCHANNELBUFFER ifac
(LPARAM)&message_state->params))
{
ERR("PostMessage failed with error %u\n", GetLastError());
+
+ IRpcStubBuffer_Release(message_state->params.stub);
+ message_state->params.stub = NULL;
+ IRpcChannelBuffer_Release(message_state->params.chan);
+ message_state->params.chan = NULL;
+ /* Note: message_state->params.iface doesn't have a reference and
+ * so doesn't need to be released */
+
hr = HRESULT_FROM_WIN32(GetLastError());
}
}
More information about the wine-cvs
mailing list