X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Flib%2Flttng-ctl%2Ffilter%2Ffilter-visitor-set-parent.c;h=458688da44a13b4d924be20162b7d15e46f575eb;hp=bd5e5a343cc884a9c7ff4c8223489cf4b23416fd;hb=1d8d032800b64945d90c7b5a7b8e9316e733a4b1;hpb=a187da1ab55a90f95fed8a29ed232b344f0d32b2 diff --git a/src/lib/lttng-ctl/filter/filter-visitor-set-parent.c b/src/lib/lttng-ctl/filter/filter-visitor-set-parent.c index bd5e5a343..458688da4 100644 --- a/src/lib/lttng-ctl/filter/filter-visitor-set-parent.c +++ b/src/lib/lttng-ctl/filter/filter-visitor-set-parent.c @@ -36,6 +36,11 @@ int update_child(struct filter_node *parent, struct filter_node *old_child, struct filter_node *new_child) { + if (!parent) { + fprintf(stderr, "[error] %s: NULL parent\n", __func__); + return -EINVAL; + } + switch (parent->type) { case NODE_UNKNOWN: default: @@ -93,7 +98,8 @@ int recursive_visit_set_parent(struct filter_node *node, return -EINVAL; case AST_EXP_NESTED: return recursive_visit_set_parent(node->u.expression.u.child, node); - case AST_EXP_IDENTIFIER: + case AST_EXP_IDENTIFIER: /* fall-through */ + case AST_EXP_GLOBAL_IDENTIFIER: { struct filter_node *orig_node = node; @@ -102,7 +108,8 @@ int recursive_visit_set_parent(struct filter_node *node, prev = node->u.expression.prev; if (prev->type != NODE_EXPRESSION || - prev->u.expression.type != AST_EXP_IDENTIFIER) { + (prev->u.expression.type != AST_EXP_IDENTIFIER + && prev->u.expression.type != AST_EXP_GLOBAL_IDENTIFIER)) { fprintf(stderr, "[error] %s: expecting identifier before link\n", __func__); return -EINVAL; }