From: Arran Cudbard-Bell Date: Sat, 9 Nov 2024 22:13:12 +0000 (-0600) Subject: Fix "too many args" error X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b9d479af29dde7012c243843d4237e993b22cf0b;p=thirdparty%2Ffreeradius-server.git Fix "too many args" error --- diff --git a/src/lib/unlang/xlat_tokenize.c b/src/lib/unlang/xlat_tokenize.c index 037257d3ff4..2923a071c7c 100644 --- a/src/lib/unlang/xlat_tokenize.c +++ b/src/lib/unlang/xlat_tokenize.c @@ -1282,13 +1282,13 @@ fr_slen_t xlat_tokenize_argv(TALLOC_CTX *ctx, xlat_exp_head_t **out, fr_sbuff_t fr_sbuff_parse_rules_t const *our_p_rules; /* Bareword parse rules */ fr_sbuff_parse_rules_t tmp_p_rules; xlat_exp_head_t *head; - xlat_arg_parser_t const *arg = NULL; + xlat_arg_parser_t const *arg = NULL, *arg_start; if (xlat && xlat->args) { - arg = xlat->args; /* Track the arguments as we parse */ + arg_start = arg = xlat->args; /* Track the arguments as we parse */ } else { static xlat_arg_parser_t default_arg = { .variadic = XLAT_ARG_VARIADIC_EMPTY_SQUASH }; - arg = &default_arg; + arg_start = arg = &default_arg; } MEM(head = xlat_exp_head_alloc(ctx)); @@ -1471,7 +1471,7 @@ fr_slen_t xlat_tokenize_argv(TALLOC_CTX *ctx, xlat_exp_head_t **out, fr_sbuff_t if (!arg->variadic) { arg++; if (arg->type == FR_TYPE_NULL) { - fr_strerror_printf("Too many arguments, expected %u additional", argc - 1); + fr_strerror_printf("Too many arguments, expected %zu, got %u", arg - arg_start, argc - 1); goto error; } }