From: Alan T. DeKok Date: Fri, 10 Apr 2020 14:30:01 +0000 (-0400) Subject: walk over the list of child xlat nodes, too X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a43765fd0c3cfcfededd4ea1c185ff46ed7b3eef;p=thirdparty%2Ffreeradius-server.git walk over the list of child xlat nodes, too --- diff --git a/src/lib/unlang/xlat_eval.c b/src/lib/unlang/xlat_eval.c index 37d77efdb05..78b7b70c9bb 100644 --- a/src/lib/unlang/xlat_eval.c +++ b/src/lib/unlang/xlat_eval.c @@ -1853,5 +1853,18 @@ void xlat_eval_free(void) */ bool xlat_async_required(xlat_exp_t const *xlat) { - return !xlat->async_safe; + xlat_exp_t const *node; + + if (xlat->type != XLAT_CHILD) { + return !xlat->async_safe; + } + + /* + * Set async_safe on the entire list. + */ + for (node = xlat; node != NULL; node = node->next) { + if (!node->async_safe) return true; + } + + return false; }