urlmon: Fix incorrect pointer arithmetic (too conversative) in map_url_to_zone.

Gerald Pfeifer gerald at pfeifer.com
Sun May 22 13:53:50 CDT 2011


The difference between two pointers (of the same type) is the number
of elements, not the number of bytes.  Thus the code below was way 
incorrect, luckily only too conversative.

Gerald

---
 dlls/urlmon/sec_mgr.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dlls/urlmon/sec_mgr.c b/dlls/urlmon/sec_mgr.c
index 7b4bb35..75850ee 100644
--- a/dlls/urlmon/sec_mgr.c
+++ b/dlls/urlmon/sec_mgr.c
@@ -529,7 +529,7 @@ static HRESULT map_url_to_zone(LPCWSTR url, DWORD *zone, LPWSTR *ret_url)
         hres = CoInternetParseUrl(secur_url, PARSE_PATH_FROM_URL, 0, path,
                 sizeof(path)/sizeof(WCHAR), &size, 0);
 
-        if(SUCCEEDED(hres) && (ptr = strchrW(path, '\\')) && ptr-path < sizeof(root)/sizeof(WCHAR)) {
+        if(SUCCEEDED(hres) && (ptr = strchrW(path, '\\')) && ptr-path < sizeof(root)) {
             UINT type;
 
             memcpy(root, path, (ptr-path)*sizeof(WCHAR));
-- 
1.7.4.1



More information about the wine-patches mailing list