[Bug 25186] New: Tom Clancy's Splinter Cell installer locks up
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Nov 15 19:34:22 CST 2010
http://bugs.winehq.org/show_bug.cgi?id=25186
Summary: Tom Clancy's Splinter Cell installer locks up
Product: Wine
Version: 1.3.7
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: shell32
AssignedTo: wine-bugs at winehq.org
ReportedBy: pp at siedziba.pl
Splinter Cell installer enters infinite loop before it installs any files.
Regression test finds this commit as the culprit:
f324f3c31ef4b0a6b5273aca534c173d68932462 is the first bad commit
commit f324f3c31ef4b0a6b5273aca534c173d68932462
Author: Andrew Eikum <aeikum at codeweavers.com>
Date: Thu Nov 11 15:58:12 2010 -0600
shell32: Don't fail if the path doesn't exist in Unix in
IShellFolder::ParseDisplayName.
:040000 040000 319f1430fd21651467b6d173c38aa9b2ae2f25ca
97d7adfd2c2ad0c7b00aefed240ddf18a9899875 M dlls
Debugging the issue further, the patch introduces this loop:
1. while(!(pszUnixPath = wine_get_unix_file_name(dospath))){
2. if(has_failed)
3. *dospath_end = '/';
4. else
5. has_failed = 1;
6. while(*dospath_end != '\\' && *dospath_end != '/')
7. --dospath_end;
8. *dospath_end = '\0';
9. }
When I print the dospath variable between lines 1 and 2, the output is:
C:\Program Files\Ubi Soft Entertainment\Tom Clancy's Splinter Cell
Demo\Support\Readme.txt
C:\Program Files\Ubi Soft Entertainment\Tom Clancy's Splinter Cell Demo\Support
C:\Program Files\Ubi Soft Entertainment\Tom Clancy's Splinter Cell Demo\Support
C:\Program Files\Ubi Soft Entertainment\Tom Clancy's Splinter Cell Demo\Support
[...]
... and it repeats ad infinitum.
The problem is, the inner while loop at line 6 immediately finds the '/' char
written earlier at line 3, so dospath_end variable isn't decremented, and it
loops forever.
I don't know what this piece of code is supposed to do, so I have no idea what
is the correct way to fix it.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list