Piotr Caban : msvcr120: Fix exception object refcounting in __ExceptionPtrAssign.
Alexandre Julliard
julliard at winehq.org
Tue Jan 2 15:01:28 CST 2018
Module: wine
Branch: stable
Commit: 1e8ac900d2de9da2b6621da9dcd515acc75856a4
URL: https://source.winehq.org/git/wine.git/?a=commit;h=1e8ac900d2de9da2b6621da9dcd515acc75856a4
Author: Piotr Caban <piotr at codeweavers.com>
Date: Thu Jul 13 19:15:06 2017 +0200
msvcr120: Fix exception object refcounting in __ExceptionPtrAssign.
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit ab313dd3beb7e495b36f8320ffc2354b9c854d51)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
---
dlls/msvcrt/cpp.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/dlls/msvcrt/cpp.c b/dlls/msvcrt/cpp.c
index 4d0d9b5..1277b40 100644
--- a/dlls/msvcrt/cpp.c
+++ b/dlls/msvcrt/cpp.c
@@ -1355,7 +1355,12 @@ void __cdecl __ExceptionPtrAssign(exception_ptr *ep, const exception_ptr *assign
TRACE("(%p %p)\n", ep, assign);
/* don't destroy object stored in ep */
+ if (ep->ref)
+ InterlockedDecrement(ep->ref);
+
*ep = *assign;
+ if (ep->ref)
+ InterlockedIncrement(ep->ref);
}
/*********************************************************************
More information about the wine-cvs
mailing list