[PATCH 4/4] msdmo: Only return valid GUIDs in IEnumDMO_Next().
Zebediah Figura
z.figura12 at gmail.com
Tue May 8 18:55:02 CDT 2018
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/msdmo/dmoreg.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/dlls/msdmo/dmoreg.c b/dlls/msdmo/dmoreg.c
index 1944a0a..96579df 100644
--- a/dlls/msdmo/dmoreg.c
+++ b/dlls/msdmo/dmoreg.c
@@ -117,6 +117,15 @@ static LPWSTR GUIDToString(LPWSTR lpwstr, REFGUID lpcguid)
return lpwstr;
}
+static HRESULT string_to_guid(const WCHAR *string, GUID *guid)
+{
+ WCHAR buffer[39] = {'{',0};
+ strcatW(buffer, string);
+ buffer[37] = '}';
+ buffer[38] = 0;
+ return CLSIDFromString(buffer, guid);
+}
+
static BOOL IsMediaTypeEqual(const DMO_PARTIAL_MEDIATYPE* mt1, const DMO_PARTIAL_MEDIATYPE* mt2)
{
@@ -514,6 +523,7 @@ static HRESULT WINAPI IEnumDMO_fnNext(
UINT count = 0;
HRESULT hres = S_OK;
LONG ret;
+ GUID guid;
IEnumDMOImpl *This = impl_from_IEnumDMO(iface);
@@ -537,6 +547,9 @@ static HRESULT WINAPI IEnumDMO_fnNext(
break;
}
+ if (string_to_guid(szNextKey, &guid) != S_OK)
+ continue;
+
TRACE("found %s\n", debugstr_w(szNextKey));
if (!(This->dwFlags & DMO_ENUMF_INCLUDE_KEYED))
--
2.7.4
More information about the wine-devel
mailing list