From: Alan T. DeKok Date: Fri, 6 Dec 2024 21:02:31 +0000 (-0500) Subject: call cf_section_parse_init() for referenced rules, too X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a28a14005f45ed77a33debb12c1b1fd6b500ea3;p=thirdparty%2Ffreeradius-server.git call cf_section_parse_init() for referenced rules, too --- diff --git a/src/lib/server/cf_parse.c b/src/lib/server/cf_parse.c index 1ead95765ea..301d53de1f6 100644 --- a/src/lib/server/cf_parse.c +++ b/src/lib/server/cf_parse.c @@ -793,6 +793,17 @@ static int cf_section_parse_init(CONF_SECTION *cs, void *base, conf_parser_t con * this section. */ if ((rule->flags & CONF_FLAG_REF) != 0) { + conf_parser_t const *rule_p; + uint8_t *sub_base = base; + + fr_assert(rule->subcs != NULL); + + sub_base += rule->offset; + + for (rule_p = rule->subcs; rule_p->name1; rule_p++) { + int ret = cf_section_parse_init(cs, sub_base, rule_p); + if (ret < 0) return ret; + } return 0; }