diff --git a/lib/filterx/expr-getattr.c b/lib/filterx/expr-getattr.c index 8f6c4bd32..50d48341b 100644 --- a/lib/filterx/expr-getattr.c +++ b/lib/filterx/expr-getattr.c @@ -137,6 +137,7 @@ filterx_getattr_new(FilterXExpr *operand, FilterXString *attr_name) self->operand = operand; self->attr = (FilterXObject *) attr_name; - + /* NOTE: name borrows the string value from the string object */ + self->super.name = filterx_string_get_value_ref(self->attr, NULL); return &self->super; } diff --git a/lib/filterx/expr-setattr.c b/lib/filterx/expr-setattr.c index e814eef5f..e75ed8d92 100644 --- a/lib/filterx/expr-setattr.c +++ b/lib/filterx/expr-setattr.c @@ -185,6 +185,8 @@ filterx_nullv_setattr_new(FilterXExpr *object, FilterXString *attr_name, FilterX self->new_value = new_value; self->super.ignore_falsy_result = TRUE; + /* NOTE: name borrows the string value from the string object */ + self->super.name = filterx_string_get_value_ref(self->attr, NULL); return &self->super; } diff --git a/lib/filterx/expr-variable.c b/lib/filterx/expr-variable.c index e3a101e5d..43696395b 100644 --- a/lib/filterx/expr-variable.c +++ b/lib/filterx/expr-variable.c @@ -191,6 +191,9 @@ filterx_variable_expr_new(FilterXString *name, FilterXVariableType type) self->variable_name = (FilterXObject *) name; self->handle = filterx_map_varname_to_handle(filterx_string_get_value_ref(self->variable_name, NULL), type); + /* NOTE: name borrows the string value from the string object */ + self->super.name = filterx_string_get_value_ref(self->variable_name, NULL); + return &self->super; }