From: Thomas Frauendorfer | Miray Software Date: Fri, 9 May 2025 11:51:08 +0000 (+0200) Subject: commands/test: Fix error in recursion depth calculation X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cc9d621dd06bfa12eac511b37b4ceda5bd2f8246;p=thirdparty%2Fgrub.git commands/test: Fix error in recursion depth calculation The commit c68b7d236 (commands/test: Stack overflow due to unlimited recursion depth) added recursion depth tests to the test command. But in the error case it decrements the pointer to the depth value instead of the value itself. Fix it. Fixes: c68b7d236 (commands/test: Stack overflow due to unlimited recursion depth) Signed-off-by: Thomas Frauendorfer | Miray Software Reviewed-by: Daniel Kiper --- diff --git a/grub-core/commands/test.c b/grub-core/commands/test.c index b585c3d70..ee47ab264 100644 --- a/grub-core/commands/test.c +++ b/grub-core/commands/test.c @@ -403,7 +403,7 @@ test_parse (char **args, int *argn, int argc, int *depth) if (++(*depth) > MAX_TEST_RECURSION_DEPTH) { grub_error (GRUB_ERR_OUT_OF_RANGE, N_("max recursion depth exceeded")); - depth--; + (*depth)--; return ctx.or || ctx.and; }