Shlwapi UNC problems with IE6 (fwd)
lawson_whitney at juno.com
lawson_whitney at juno.com
Tue Feb 19 21:19:24 CST 2002
---------- Forwarded message ----------
Date: Tue, 19 Feb 2002 11:20:41 +0100 (CET)
From: Sylvain Petreolle <spetreolle at yahoo.fr>
To: wine-users at winehq.com
Hi,
Using SHLWAPI in native mode with IE6 ends like this :
$ wine --winver winme IEXPLORE.EXE
[....]
Unhandled exception: page fault on read access to
0x00000001 in 32-bit code (0x4081749c).
In 32-bit mode.
Symbol h_errno is invalid
0x4081749c (PathIsUNCServerShareA+0x44 [path.c:1308]
in libshlwapi.so): cmpb $0x5c,0x0(%esi)
1308 if (lpszPath[0]=='\\' && lpszPath[1]=='\\')
regs are like this :Wine-dbg>info regs
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:008f GS:0000
EIP:4081749c ESP:405c5ce0 EBP:405c5cec
EFLAGS:00010246( R- 00 I Z- -P1 )
EAX:405c5d40 EBX:4082c8b4 ECX:00000000 EDX:00000000
ESI:00000001 EDI:4082c5b0
Using last CVS code.
------end of forwarded message------
Looks as if we need something like this to cater for IE6
(I have nothing directly to gain by this. My browser of choice is
wget :-)
ChangeLog:
dlls/shlwapi/path.c:
Lawson Whitney <lawson_whitney at juno.com>
Protect PathIsUNCServerShare from null lpszPath.
diff -ur was/dlls/shlwapi/path.c is/dlls/shlwapi/path.c
--- was/dlls/shlwapi/path.c Tue Jan 29 12:08:19 2002
+++ is/dlls/shlwapi/path.c Tue Feb 19 21:45:33 2002
@@ -1305,6 +1305,7 @@
LPCSTR lpszPath)
{
TRACE("%s\n", debugstr_a(lpszPath));
+ if (!lpszPath) return FALSE;
if (lpszPath[0]=='\\' && lpszPath[1]=='\\')
{
int foundbackslash = 0;
@@ -1327,6 +1328,7 @@
LPCWSTR lpszPath)
{
TRACE("%s\n", debugstr_w(lpszPath));
+ if (!lpszPath) return FALSE;
if (lpszPath[0]=='\\' && lpszPath[1]=='\\')
{
int foundbackslash = 0;
Lawson
-------------- next part --------------
diff -ur was/dlls/shlwapi/path.c is/dlls/shlwapi/path.c
--- was/dlls/shlwapi/path.c Tue Jan 29 12:08:19 2002
+++ is/dlls/shlwapi/path.c Tue Feb 19 21:45:33 2002
@@ -1305,6 +1305,7 @@
LPCSTR lpszPath)
{
TRACE("%s\n", debugstr_a(lpszPath));
+ if (!lpszPath) return FALSE;
if (lpszPath[0]=='\\' && lpszPath[1]=='\\')
{
int foundbackslash = 0;
@@ -1327,6 +1328,7 @@
LPCWSTR lpszPath)
{
TRACE("%s\n", debugstr_w(lpszPath));
+ if (!lpszPath) return FALSE;
if (lpszPath[0]=='\\' && lpszPath[1]=='\\')
{
int foundbackslash = 0;
More information about the wine-patches
mailing list