VALUE_BOX_TALLOC_LIST_VERIFY(result);
xa = node->call.func->func.async(ctx, out, request,
- node->call.inst->data, thread_inst->data, result);
+ node->call.inst ? node->call.inst->data : NULL,
+ thread_inst ? thread_inst->data : NULL, result);
VALUE_BOX_TALLOC_LIST_VERIFY(result);
if (RDEBUG_ENABLED2) xlat_debug_log_expansion(request, *in, &result_copy);
* @param[in] node to find thread specific data for.
* @return
* - Thread specific data on success.
- * - NULL if the xlat has no thread instance data (should not happen).
+ * - NULL if the xlat has no thread instance data.
*/
xlat_thread_inst_t *xlat_thread_instance_find(xlat_exp_t const *node)
{
- xlat_thread_inst_t *found;
-
fr_assert(xlat_thread_inst_tree);
fr_assert(node->type == XLAT_FUNC);
if (node->call.ephemeral) return node->call.thread_inst;
- found = fr_rb_find(xlat_thread_inst_tree, &(xlat_thread_inst_t){ .node = node });
- fr_assert(found);
-
- return found;
+ return fr_rb_find(xlat_thread_inst_tree, &(xlat_thread_inst_t){ .node = node });
}
/** Create thread specific instance tree and create thread instances