quartz: Don't free a null media type in the file source.
authorMaarten Lankhorst <m.b.lankhorst@gmail.com>
Tue, 8 Apr 2008 05:31:15 +0000 (22:31 -0700)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 9 Apr 2008 09:43:05 +0000 (11:43 +0200)
dlls/quartz/filesource.c

index fd977f9524a3ddf7581cda7d85a7bf17714b2e26..b2d6838a1096b1937fa249d027622f66d85cb2cc 100644 (file)
@@ -96,6 +96,7 @@ static HRESULT process_extensions(HKEY hkeyExtensions, LPCOLESTR pszFileName, GU
     size = sizeof(keying);
     if (!l)
         l = RegQueryValueExW(hsub, subtype_name, NULL, NULL, (LPBYTE)keying, &size);
+
     if (!l)
         CLSIDFromString(keying, minorType);
 
@@ -433,7 +434,8 @@ static ULONG WINAPI AsyncReader_Release(IBaseFilter * iface)
         DeleteCriticalSection(&This->csFilter);
         This->lpVtbl = NULL;
         CoTaskMemFree(This->pszFileName);
-        FreeMediaType(This->pmt);
+        if (This->pmt)
+            FreeMediaType(This->pmt);
         CoTaskMemFree(This);
         return 0;
     }
@@ -681,7 +683,8 @@ static HRESULT WINAPI FileSource_Load(IFileSourceFilter * iface, LPCOLESTR pszFi
         }
 
         CoTaskMemFree(This->pszFileName);
-        FreeMediaType(This->pmt);
+        if (This->pmt)
+            FreeMediaType(This->pmt);
         This->pszFileName = NULL;
         This->pmt = NULL;