| Index: src/shared/Utils.cpp | 
| =================================================================== | 
| --- a/src/shared/Utils.cpp | 
| +++ b/src/shared/Utils.cpp | 
| @@ -22,6 +22,7 @@ | 
| #include <Windows.h> | 
| #include <ShlObj.h> | 
| #include <Shlwapi.h> | 
| +#include <WinInet.h> | 
|  | 
| #include "Utils.h" | 
|  | 
| @@ -208,21 +209,11 @@ | 
|  | 
| std::wstring CanonicalizeUrl(const std::wstring& url) | 
| { | 
| -  std::wstring urlCanonicalized; | 
| -  urlCanonicalized.resize(url.length() * 2); | 
| -  DWORD urlSize = urlCanonicalized.length(); | 
| -  UrlCanonicalizeW(url.c_str(), &urlCanonicalized[0], &urlSize, 0); | 
| -  urlCanonicalized.resize(urlSize); | 
| -  return urlCanonicalized; | 
| +  std::wstring urlCanonical; | 
| +  DWORD urlSize = INTERNET_MAX_URL_LENGTH; | 
| +  urlCanonical.resize(urlSize); | 
| +  if ((UrlCanonicalizeW(url.c_str(), &urlCanonical[0], &urlSize, URL_UNESCAPE) != S_OK) || (urlSize <= 0)) | 
| +    return L""; | 
| +  urlCanonical.resize(urlSize); | 
| +  return urlCanonical; | 
| } | 
| - | 
| -std::wstring EscapeUrl(const std::wstring& url) | 
| -{ | 
| -  std::wstring urlEscaped; | 
| -  urlEscaped.resize(url.length() * 2); | 
| -  DWORD urlSize = urlEscaped.length(); | 
| -  UrlEscapeW(url.c_str(), &urlEscaped[0], &urlSize, 0); | 
| -  urlEscaped.resize(urlSize); | 
| -  return urlEscaped; | 
| -} | 
| - | 
|  |