>From 3ab6d139b4c97bbc10bddd6320336c9d138fabbb Mon Sep 17 00:00:00 2001 From: Sergey Khodych Date: Sun, 15 May 2011 00:48:57 +0300 Subject: [PATCH 2/5] shlwapi: Don't copy valid scheme in UrlApplySchemeW. --- dlls/shlwapi/tests/url.c | 4 ++++ dlls/shlwapi/url.c | 14 -------------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/dlls/shlwapi/tests/url.c b/dlls/shlwapi/tests/url.c index 5a035ac..d116c16 100644 --- a/dlls/shlwapi/tests/url.c +++ b/dlls/shlwapi/tests/url.c @@ -85,6 +85,10 @@ static const TEST_URL_APPLY TEST_APPLY[] = { {"winehq.org", URL_APPLY_GUESSSCHEME | URL_APPLY_DEFAULT, S_OK, 17, "http://winehq.org"}, {"winehq.org", URL_APPLY_GUESSSCHEME, S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, {"winehq.org", URL_APPLY_DEFAULT, S_OK, 17, "http://winehq.org"}, + {"http://www.winehq.org", URL_APPLY_GUESSSCHEME , S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, + {"http://www.winehq.org", URL_APPLY_GUESSSCHEME | URL_APPLY_FORCEAPPLY, S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, + {"http://www.winehq.org", URL_APPLY_GUESSSCHEME | URL_APPLY_FORCEAPPLY | URL_APPLY_DEFAULT, S_OK, 28, "http://http://www.winehq.org"}, + {"http://www.winehq.org", URL_APPLY_GUESSSCHEME | URL_APPLY_DEFAULT, S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, {"", URL_APPLY_GUESSSCHEME | URL_APPLY_DEFAULT, S_OK, 7, "http://"}, {"", URL_APPLY_GUESSSCHEME, S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, {"", URL_APPLY_DEFAULT, S_OK, 7, "http://"} diff --git a/dlls/shlwapi/url.c b/dlls/shlwapi/url.c index b8c51a4..7fc37a9 100644 --- a/dlls/shlwapi/url.c +++ b/dlls/shlwapi/url.c @@ -1764,20 +1764,6 @@ HRESULT WINAPI UrlApplySchemeW(LPCWSTR pszIn, LPWSTR pszOut, LPDWORD pcchOut, DW return ret; } } - else { - /* we have a scheme, see if valid (known scheme) */ - if (in_scheme.nScheme) { - /* have valid scheme, so just copy and exit */ - if (strlenW(pszIn) + 1 > *pcchOut) { - *pcchOut = strlenW(pszIn) + 1; - return E_POINTER; - } - strcpyW(pszOut, pszIn); - *pcchOut = strlenW(pszOut); - TRACE("valid scheme, returning copy\n"); - return S_OK; - } - } /* If we are here, then either invalid scheme, * or no scheme and can't/failed guess. -- 1.7.5.rc3