From: Nick Porter Date: Thu, 8 Jun 2023 08:41:05 +0000 (+0100) Subject: Add check that tmpl exands to attr ref when type == FR_TYPE_ATTRIBUTE X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6cc2b4babe11b7b5eb69d2e7da8df44240361634;p=thirdparty%2Ffreeradius-server.git Add check that tmpl exands to attr ref when type == FR_TYPE_ATTRIBUTE --- diff --git a/src/lib/unlang/call_env.c b/src/lib/unlang/call_env.c index 610c3a18dd8..3c2529ae95a 100644 --- a/src/lib/unlang/call_env.c +++ b/src/lib/unlang/call_env.c @@ -121,10 +121,18 @@ int call_env_parse(TALLOC_CTX *ctx, call_env_parsed_head_t *parsed, char const * * Ensure only valid TMPL types are produced. */ switch (call_env_parsed->tmpl->type) { - case TMPL_TYPE_ATTR: case TMPL_TYPE_DATA: case TMPL_TYPE_EXEC: case TMPL_TYPE_XLAT: + if (call_env->type & FR_TYPE_ATTRIBUTE) { + cf_log_perr(cp, "'%s' expands to %s - attribute reference required", value, + fr_table_str_by_value(tmpl_type_table, call_env_parsed->tmpl->type, + "")); + goto error; + } + FALL_THROUGH; + + case TMPL_TYPE_ATTR: break; default: