From 3bff9ccfa42613f24fe5bbedf1e80624f2570429 Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Mon, 20 Dec 2021 10:29:01 +0100 Subject: [PATCH] cmd: Don't crash on 'if exist' without parameter. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51598 Signed-off-by: Eric Pouech Signed-off-by: Alexandre Julliard (cherry picked from commit 535da77552deb74198f0fe8fedae3bbab5115ad7) Signed-off-by: Michael Stefaniuc --- programs/cmd/builtins.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c index 3f9465320c1..d8e5d061bd4 100644 --- a/programs/cmd/builtins.c +++ b/programs/cmd/builtins.c @@ -2815,8 +2815,9 @@ int evaluate_if_condition(WCHAR *p, WCHAR **command, int *test, int *negate) WCHAR *param = WCMD_parameter(p, 1+(*negate), NULL, FALSE, FALSE); int len = lstrlenW(param); + if (!len) goto syntax_err; /* FindFirstFile does not like a directory path ending in '\', append a '.' */ - if (len && param[len-1] == '\\') lstrcatW(param, L"."); + if (param[len-1] == '\\') lstrcatW(param, L"."); hff = FindFirstFileW(param, &fd); *test = (hff != INVALID_HANDLE_VALUE );