Zebediah Figura : quartz/filesource: Zero-initialize the file source filter.

Alexandre Julliard julliard at winehq.org
Sun Feb 16 15:23:58 CST 2020


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

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Thu Feb 13 22:55:54 2020 -0600

quartz/filesource: Zero-initialize the file source filter.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/quartz/filesource.c | 33 +++++++++++++--------------------
 1 file changed, 13 insertions(+), 20 deletions(-)

diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c
index 11cc438be2..c1f7f69d5e 100644
--- a/dlls/quartz/filesource.c
+++ b/dlls/quartz/filesource.c
@@ -352,7 +352,7 @@ static void async_reader_destroy(struct strmbase_filter *iface)
     CloseHandle(filter->port);
 
     strmbase_filter_cleanup(&filter->filter);
-    CoTaskMemFree(filter);
+    free(filter);
 }
 
 static HRESULT async_reader_query_interface(struct strmbase_filter *iface, REFIID iid, void **out)
@@ -414,31 +414,24 @@ static DWORD CALLBACK io_thread(void *arg)
 
 HRESULT AsyncReader_create(IUnknown *outer, void **out)
 {
-    AsyncReader *pAsyncRead;
-    
-    pAsyncRead = CoTaskMemAlloc(sizeof(AsyncReader));
+    AsyncReader *object;
 
-    if (!pAsyncRead)
+    if (!(object = calloc(1, sizeof(*object))))
         return E_OUTOFMEMORY;
 
-    strmbase_filter_init(&pAsyncRead->filter, outer, &CLSID_AsyncReader, &filter_ops);
+    strmbase_filter_init(&object->filter, outer, &CLSID_AsyncReader, &filter_ops);
 
-    pAsyncRead->IFileSourceFilter_iface.lpVtbl = &FileSource_Vtbl;
+    object->IFileSourceFilter_iface.lpVtbl = &FileSource_Vtbl;
+    object->IAsyncReader_iface.lpVtbl = &FileAsyncReader_Vtbl;
 
-    pAsyncRead->IAsyncReader_iface.lpVtbl = &FileAsyncReader_Vtbl;
-
-    pAsyncRead->pszFileName = NULL;
-
-    InitializeCriticalSection(&pAsyncRead->sample_cs);
-    pAsyncRead->sample_cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": FileAsyncReader.sample_cs");
-    InitializeConditionVariable(&pAsyncRead->sample_cv);
-    pAsyncRead->port = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0);
-    pAsyncRead->io_thread = CreateThread(NULL, 0, io_thread, pAsyncRead, 0, NULL);
-
-    *out = &pAsyncRead->filter.IUnknown_inner;
-
-    TRACE("-- created at %p\n", pAsyncRead);
+    InitializeCriticalSection(&object->sample_cs);
+    object->sample_cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": FileAsyncReader.sample_cs");
+    InitializeConditionVariable(&object->sample_cv);
+    object->port = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0);
+    object->io_thread = CreateThread(NULL, 0, io_thread, object, 0, NULL);
 
+    TRACE("Created file source %p.\n", object);
+    *out = &object->filter.IUnknown_inner;
     return S_OK;
 }
 




More information about the wine-cvs mailing list