From: Alan T. DeKok Date: Mon, 30 Dec 2024 16:12:53 +0000 (-0500) Subject: unify error path X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d69248de64255b86f94919ab043803aeb8d76f36;p=thirdparty%2Ffreeradius-server.git unify error path --- diff --git a/src/lib/unlang/xlat_expr.c b/src/lib/unlang/xlat_expr.c index 59d3392d1cc..3e86bea42c6 100644 --- a/src/lib/unlang/xlat_expr.c +++ b/src/lib/unlang/xlat_expr.c @@ -2892,13 +2892,7 @@ redo: */ XLAT_DEBUG(" operator <-- %pV", fr_box_strvalue_len(fr_sbuff_current(&our_in), fr_sbuff_remaining(&our_in))); fr_sbuff_out_by_longest_prefix(&slen, &op, expr_assignment_op_table, &our_in, T_INVALID); - if (op == T_INVALID) { - fr_strerror_const("Invalid operator"); - talloc_free(lhs); - FR_SBUFF_ERROR_RETURN(&our_in); - } - - if (!binary_ops[op].str) { + if ((op == T_INVALID) || !binary_ops[op].str) { fr_strerror_const("Invalid operator"); fr_sbuff_set(&our_in, &m_op); talloc_free(lhs); @@ -2951,7 +2945,7 @@ redo: */ if ((lhs->type == XLAT_TMPL) && tmpl_is_attr(lhs->vpt) && fr_type_is_structural(tmpl_attr_tail_da(lhs->vpt)->type)) { if ((op != T_OP_CMP_EQ) && (op != T_OP_NE)) { - fr_strerror_printf("Invalid operatord '%s' for left hand side structural attribute", fr_tokens[op]); + fr_strerror_printf("Invalid operator '%s' for left hand side structural attribute", fr_tokens[op]); fr_sbuff_set(&our_in, &m_op); FR_SBUFF_ERROR_RETURN(&our_in); }