[template-glib] expr: fix destroy of user function calls
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [template-glib] expr: fix destroy of user function calls
- Date: Wed, 4 May 2022 20:15:35 +0000 (UTC)
commit e69fed3c336c6b75be43a4f1444d96d679f00d09
Author: Christian Hergert <chergert redhat com>
Date: Wed May 4 13:14:19 2022 -0700
expr: fix destroy of user function calls
This fixes an incorrect unref we couldn't hit before because we didn't
have user functions working. But in particular USER_FN_CALL does not use
the SIMPLE expr node as it has it's own.
src/tmpl-expr.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
---
diff --git a/src/tmpl-expr.c b/src/tmpl-expr.c
index 18008b2..f8ff635 100644
--- a/src/tmpl-expr.c
+++ b/src/tmpl-expr.c
@@ -79,7 +79,6 @@ tmpl_expr_destroy (TmplExpr *self)
case TMPL_EXPR_NE:
case TMPL_EXPR_SUB:
case TMPL_EXPR_UNARY_MINUS:
- case TMPL_EXPR_USER_FN_CALL:
case TMPL_EXPR_AND:
case TMPL_EXPR_OR:
case TMPL_EXPR_INVERT_BOOLEAN:
@@ -88,6 +87,11 @@ tmpl_expr_destroy (TmplExpr *self)
g_clear_pointer (&self->simple.right, tmpl_expr_unref);
break;
+ case TMPL_EXPR_USER_FN_CALL:
+ g_clear_pointer (&self->user_fn_call.symbol, g_free);
+ g_clear_pointer (&self->user_fn_call.params, tmpl_expr_unref);
+ break;
+
case TMPL_EXPR_GETATTR:
g_clear_pointer (&self->getattr.attr, g_free);
g_clear_pointer (&self->getattr.left, tmpl_expr_unref);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]