From: Alan T. DeKok Date: Tue, 23 Nov 2021 17:26:38 +0000 (-0500) Subject: pure functions cannot require async resolution X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3592b7032351d5bf6275a0b3494bd17ea41b0e07;p=thirdparty%2Ffreeradius-server.git pure functions cannot require async resolution they must operate only on things in memory --- diff --git a/src/lib/unlang/xlat_tokenize.c b/src/lib/unlang/xlat_tokenize.c index 33065b12ebf..ff2ab693af8 100644 --- a/src/lib/unlang/xlat_tokenize.c +++ b/src/lib/unlang/xlat_tokenize.c @@ -202,6 +202,7 @@ static inline CC_HINT(always_inline) void xlat_flags_merge(xlat_flags_t *parent, parent->needs_async |= child->needs_async; parent->needs_resolving |= child->needs_resolving; parent->pure &= child->pure; /* purity can only be removed, never added */ + parent->pure &= !parent->needs_async; /* things needing async cannot be pure */ } /** Free a linked list of xlat nodes