[Bug 12326] SHELL_FindExecutable breaks "mailto:" URL

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Apr 3 12:10:48 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=12326





--- Comment #2 from Tefnet developers <developers at tefnet.pl>  2008-04-03 12:10:47 ---
The problem is in function SHELL_execute in line 1714 and 1717.


            lstrcpynW(wfileName, sei_tmp.lpFile,sizeof(wfileName));
        }
    } else
        lstrcpynW(wfileName, sei_tmp.lpFile,sizeof(wfileName));

    lpFile = wfileName;


There is a strcpyW from sei_tmp.lpFile (wich size we don't know) to wfileName
with fixed length = MAX_PATH.

As a result wfileName by accident overwrites lpstrProtocol passed as argument
"key" to SHELL_FindExecutable. That's why in function SHELL_FindExecutable
line:

if (key) *key = '\0';

cuts my long argument.

How should I solve this problem?

Using lstrcpynW instead of strcpyW doesn't solve my problem, because it will
still cut my argument.


-- 
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