From: Yuxuan Shui yshui@codeweavers.com
--- programs/cmd/wcmdmain.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c index e51f7cb7781..61e70312b8f 100644 --- a/programs/cmd/wcmdmain.c +++ b/programs/cmd/wcmdmain.c @@ -3398,7 +3398,8 @@ enum read_parse_line WCMD_ReadAndParseLine(const WCHAR *optionalcmd, CMD_NODE ** /* See if 1>, 2> etc, in which case we have some patching up to do (provided there's a preceding whitespace, and enough chars read so far) */ - if (curPos[-1] >= L'1' && curPos[-1] <= L'9' && (curStringLen == 1 || iswspace(curPos[-2]))) + if (curPos > extraSpace && curPos[-1] >= L'1' && curPos[-1] <= L'9' && + (curStringLen == 1 || (curPos > extraSpace + 1 && iswspace(curPos[-2])))) { curStringLen--; curString[curStringLen] = L'\0';