Erich Hoover : wininet: Fix InternetCrackUrl parsing URLs containing a semicolon.
Alexandre Julliard
julliard at winehq.org
Fri Nov 16 13:12:52 CST 2012
Module: wine
Branch: master
Commit: 499c53175bd9e886dcbf02d0a70bad0d1ac0b900
URL: http://source.winehq.org/git/wine.git/?a=commit;h=499c53175bd9e886dcbf02d0a70bad0d1ac0b900
Author: Erich Hoover <ehoover at mines.edu>
Date: Thu Nov 15 10:23:52 2012 -0700
wininet: Fix InternetCrackUrl parsing URLs containing a semicolon.
---
dlls/wininet/internet.c | 4 +---
dlls/wininet/tests/url.c | 3 +++
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index 0e83389..1877af9 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -1717,9 +1717,7 @@ BOOL WINAPI InternetCrackUrlW(LPCWSTR lpszUrl_orig, DWORD dwUrlLength_orig, DWOR
lpUC->nPort = INTERNET_INVALID_PORT_NUMBER;
/* Parse <params> */
- lpszParam = memchrW(lpszap, ';', dwUrlLength - (lpszap - lpszUrl));
- if(!lpszParam)
- lpszParam = memchrW(lpszap, '?', dwUrlLength - (lpszap - lpszUrl));
+ lpszParam = memchrW(lpszap, '?', dwUrlLength - (lpszap - lpszUrl));
if(!lpszParam)
lpszParam = memchrW(lpszap, '#', dwUrlLength - (lpszap - lpszUrl));
diff --git a/dlls/wininet/tests/url.c b/dlls/wininet/tests/url.c
index 8559aae..96c3809 100644
--- a/dlls/wininet/tests/url.c
+++ b/dlls/wininet/tests/url.c
@@ -124,6 +124,9 @@ static const crack_url_test_t crack_url_tests[] = {
{"http://www.winehq.org?test=123",
0, 4, INTERNET_SCHEME_HTTP, 7, 14, 23, 80, -1, 0, -1, 0, 21, 0, 21, 9,
"http", "www.winehq.org", "", "", "", "?test=123"},
+ {"http://www.winehq.org/myscript.php;test=123",
+ 0, 4, INTERNET_SCHEME_HTTP, 7, 14, 23, 80, -1, 0, -1, 0, 21, 22, -1, 0,
+ "http", "www.winehq.org", "", "", "/myscript.php;test=123", ""},
{"file:///C:/Program%20Files/Atmel/AVR%20Tools/STK500/STK500.xml",
0, 4, INTERNET_SCHEME_FILE, -1, 0, -1, 0, -1, 0, -1, 0, 7, 55, -1, 0,
"file", "", "", "", "C:\\Program Files\\Atmel\\AVR Tools\\STK500\\STK500.xml", ""},
More information about the wine-cvs
mailing list