Nikolay Sivov : mf: Set cancellation object directly (Coverity).

Alexandre Julliard julliard at winehq.org
Mon Mar 30 16:24:26 CDT 2020


Module: wine
Branch: master
Commit: cb3517a1bf168e586fdc520f05f3842c2621b8ca
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=cb3517a1bf168e586fdc520f05f3842c2621b8ca

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Mon Mar 30 14:21:27 2020 +0300

mf: Set cancellation object directly (Coverity).

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mf/main.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/mf/main.c b/dlls/mf/main.c
index ac80c51016..01fe17866c 100644
--- a/dlls/mf/main.c
+++ b/dlls/mf/main.c
@@ -760,17 +760,20 @@ static HRESULT WINAPI file_scheme_handler_BeginCreateObject(IMFSchemeHandler *if
 
     hr = MFCreateAsyncResult(&context->IUnknown_iface, &handler->IMFAsyncCallback_iface, (IUnknown *)caller, &item);
     IUnknown_Release(&context->IUnknown_iface);
-    IMFAsyncResult_Release(caller);
     if (SUCCEEDED(hr))
     {
         if (SUCCEEDED(hr = MFPutWorkItemEx(MFASYNC_CALLBACK_QUEUE_IO, item)))
         {
             if (cancel_cookie)
-                IMFAsyncResult_GetState(item, cancel_cookie);
+            {
+                *cancel_cookie = (IUnknown *)caller;
+                IUnknown_AddRef(*cancel_cookie);
+            }
         }
 
         IMFAsyncResult_Release(item);
     }
+    IMFAsyncResult_Release(caller);
 
     return hr;
 }




More information about the wine-cvs mailing list