[PATCH 0/1] MR10164: msvcr100: Fix leak in __ExceptionPtrAssign.
From: Piotr Caban <piotr@codeweavers.com> --- dlls/msvcp90/exception.c | 5 +---- dlls/msvcrt/exception_ptr.c | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/dlls/msvcp90/exception.c b/dlls/msvcp90/exception.c index 01a366078b2..1922a179ba2 100644 --- a/dlls/msvcp90/exception.c +++ b/dlls/msvcp90/exception.c @@ -1302,10 +1302,7 @@ 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); - + __ExceptionPtrDestroy(ep); *ep = *assign; if (ep->ref) InterlockedIncrement(ep->ref); diff --git a/dlls/msvcrt/exception_ptr.c b/dlls/msvcrt/exception_ptr.c index 383d16166aa..4524f718c14 100644 --- a/dlls/msvcrt/exception_ptr.c +++ b/dlls/msvcrt/exception_ptr.c @@ -116,10 +116,7 @@ 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); - + __ExceptionPtrDestroy(ep); *ep = *assign; if (ep->ref) InterlockedIncrement(ep->ref); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10164
participants (2)
-
Piotr Caban -
Piotr Caban (@piotr)