diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c index 7991152f7a7..cee052defeb 100644 --- a/dlls/mfplat/main.c +++ b/dlls/mfplat/main.c @@ -6469,10 +6469,11 @@ static HRESULT resolver_get_scheme_handler(const WCHAR *url, DWORD flags, IMFSch if (ptr == url || *ptr != ':') { url = fileschemeW; - ptr = fileschemeW + ARRAY_SIZE(fileschemeW) - 1; + len = ARRAY_SIZE(fileschemeW) - 1; } + else + len = ptr - url + 1; - len = ptr - url; scheme = malloc((len + 1) * sizeof(WCHAR)); if (!scheme) return E_OUTOFMEMORY;