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

Gerald Pfeifer gerald at pfeifer.com
Wed Jun 15 16:46:06 CDT 2011


Anything wrong with this patch?  The original code surely looks wrong?

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