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(a)winehq.org ReportedBy: pp(a)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(a)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.