From 535da77552deb74198f0fe8fedae3bbab5115ad7 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 --- 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 d0a954d90fa..d14e69e072a 100644 --- a/programs/cmd/builtins.c +++ b/programs/cmd/builtins.c @@ -2811,8 +2811,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 );