https://bugs.winehq.org/show_bug.cgi?id=47274
Bug ID: 47274 Summary: Windows XP's cmd.exe doesn't execute batch files anymore Product: Wine Version: 4.4 Hardware: x86 OS: Linux Status: NEW Keywords: regression Severity: normal Priority: P2 Component: advapi32 Assignee: wine-bugs@winehq.org Reporter: gabrielopcode@gmail.com CC: hans@meelstraat.net Regression SHA1: 8021d449f4a02aa5e44476e9f9c98e5641e596a2 Distribution: ---
Since wine-4.4, Windows XP's cmd.exe doesn't execute batch files anymore, it simply silently fails and does nothing. A regression test pin-pointed the issue:
8021d449f4a02aa5e44476e9f9c98e5641e596a2 is the first bad commit commit 8021d449f4a02aa5e44476e9f9c98e5641e596a2 Author: Hans Leidekker hans@codeweavers.com Date: Wed Mar 6 10:14:27 2019 +0100
advapi32: Add a stub implementation of SaferIdentifyLevel.
Signed-off-by: Hans Leidekker hans@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
Reverting the patch to a stub is necessary. Changing the return value to FALSE does not work. I'm not sure how else to fix this since it's just a stub, and similar stubs (like SaferComputeTokenFromLevel) don't seem to have a problem. Having those return FALSE doesn't seem to help either.
https://bugs.winehq.org/show_bug.cgi?id=47274
--- Comment #1 from Hans Leidekker hans@meelstraat.net --- (In reply to Gabriel Ivăncescu from comment #0)
Since wine-4.4, Windows XP's cmd.exe doesn't execute batch files anymore, it simply silently fails and does nothing. A regression test pin-pointed the issue:
8021d449f4a02aa5e44476e9f9c98e5641e596a2 is the first bad commit commit 8021d449f4a02aa5e44476e9f9c98e5641e596a2 Author: Hans Leidekker hans@codeweavers.com Date: Wed Mar 6 10:14:27 2019 +0100
advapi32: Add a stub implementation of SaferIdentifyLevel. Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Reverting the patch to a stub is necessary. Changing the return value to
Note that before this patch SaferIdentifyLevel was commented out in the spec file. Are you saying that if you add a spec file stub for this function cmd.exe works as before?
https://bugs.winehq.org/show_bug.cgi?id=47274
--- Comment #2 from Gabriel Ivăncescu gabrielopcode@gmail.com --- Yeah. I've actually added a hack to GetProcAddress to return NULL if the passed string is "SaferIdentifyLevel" and that works too, so it seems cmd.exe loads it like that.
Patching the string "SaferIdentifyLevel" in cmd.exe with a Hex Editor by replacing the first character with a NUL also works, even with the patch applied. I guess a proper fix would require a semi-implementation of these functions.
https://bugs.winehq.org/show_bug.cgi?id=47274
--- Comment #3 from Hans Leidekker hans@meelstraat.net --- Created attachment 64575 --> https://bugs.winehq.org/attachment.cgi?id=64575 patch
Does this patch help?
https://bugs.winehq.org/show_bug.cgi?id=47274
--- Comment #4 from Gabriel Ivăncescu gabrielopcode@gmail.com --- Yes it appears this bug fixes the problem. Thanks for the quick fix :-)
https://bugs.winehq.org/show_bug.cgi?id=47274
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |17110a0a890d2bacb5b348bd9bb | |3cef10d144e19 Resolution|--- |FIXED
--- Comment #5 from Hans Leidekker hans@meelstraat.net --- Fixed by 17110a0a890d2bacb5b348bd9bb3cef10d144e19.
https://bugs.winehq.org/show_bug.cgi?id=47274
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.10.