diff --git a/src/lib/eolian/database_expr.c b/src/lib/eolian/database_expr.c index 38794a2f3c..b6d79bb19c 100644 --- a/src/lib/eolian/database_expr.c +++ b/src/lib/eolian/database_expr.c @@ -529,7 +529,10 @@ eval_exp(const Eolian_Unit *unit, Eolian_Expression *expr, /* assert int here, as we're clearly dealing with enum */ if (!(mask & EOLIAN_MASK_INT)) - return expr_type_error(expr, EOLIAN_MASK_INT, mask); + { + free(fulln); + return expr_type_error(expr, EOLIAN_MASK_INT, mask); + } etpd = eolian_unit_alias_by_name_get(unit, fulln); if (etpd && cb) cb((const Eolian_Object *)etpd, data);