]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
quiet static analyzer
authorAlan T. DeKok <aland@freeradius.org>
Sun, 8 Oct 2023 12:37:07 +0000 (08:37 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Sun, 8 Oct 2023 12:37:07 +0000 (08:37 -0400)
src/lib/unlang/xlat_tokenize.c

index 30e22fc36d5a53accd9367b91653370ca75b86b7..f49de2ef83605a2cfd8fa69d86af44334e1c258e 100644 (file)
@@ -989,17 +989,21 @@ int xlat_tokenize_expansion(xlat_exp_head_t *head, fr_sbuff_t *in,
                char *fmt;
                xlat_exp_t *node;
                xlat_exp_head_t *child;
-               tmpl_rules_t my_rules = *t_rules;
+               tmpl_rules_t my_rules;
 
                fr_sbuff_set(in, &s_m);         /* backtrack to the start of the expression */
 
                MEM(node = xlat_exp_alloc(head, XLAT_TMPL, NULL, 0));
                MEM(node->vpt = tmpl_alloc(node, TMPL_TYPE_XLAT, T_BARE_WORD, "", 1));
 
-               my_rules.enumv = NULL;
-               my_rules.cast = FR_TYPE_NULL;
+               if (t_rules) {
+                       my_rules = *t_rules;
+                       my_rules.enumv = NULL;
+                       my_rules.cast = FR_TYPE_NULL;
+                       t_rules = &my_rules;
+               }
 
-               ret = xlat_tokenize_expression(node->vpt, &child, in, &attr_p_rules, &my_rules);
+               ret = xlat_tokenize_expression(node->vpt, &child, in, &attr_p_rules, t_rules);
                if (ret <= 0) {
                        talloc_free(node);
                        return ret;