From f3825cb2e60bd6f216e44c51aeb0d8e7c81618db Mon Sep 17 00:00:00 2001 From: Attila Szakacs Date: Fri, 20 Sep 2024 15:26:04 +0200 Subject: [PATCH 1/9] filterx: fix refcounting in declared generator assignment Signed-off-by: Attila Szakacs --- lib/filterx/filterx-grammar.ym | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/filterx/filterx-grammar.ym b/lib/filterx/filterx-grammar.ym index c8bdf169a..5acf9f813 100644 --- a/lib/filterx/filterx-grammar.ym +++ b/lib/filterx/filterx-grammar.ym @@ -355,7 +355,7 @@ declaration filterx_generator_set_fillable($4, filterx_expr_ref($2)); $$ = filterx_compound_expr_new_va(TRUE, - filterx_assign_new($2, filterx_generator_create_container_new($4, json_func)), + filterx_assign_new($2, filterx_generator_create_container_new(filterx_expr_ref($4), json_func)), $4, NULL ); From e9575ca0024d4fdd52488960eb00c51ef70d784f Mon Sep 17 00:00:00 2001 From: Attila Szakacs Date: Fri, 20 Sep 2024 15:26:18 +0200 Subject: [PATCH 2/9] filterx: fix leaking function name in grammar Signed-off-by: Attila Szakacs --- lib/filterx/filterx-grammar.ym | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/filterx/filterx-grammar.ym b/lib/filterx/filterx-grammar.ym index 5acf9f813..1d4da691e 100644 --- a/lib/filterx/filterx-grammar.ym +++ b/lib/filterx/filterx-grammar.ym @@ -309,6 +309,7 @@ generator_casted_assignment NULL ); free($3); + free($5); } | expr '[' expr ']' KW_ASSIGN func_name '(' expr_generator ')' { From d6bd38eb7b06f3a55798fddbed52f4d33732e644 Mon Sep 17 00:00:00 2001 From: Attila Szakacs Date: Fri, 20 Sep 2024 15:29:59 +0200 Subject: [PATCH 3/9] pragma: fix leaking requires message in grammar Signed-off-by: Attila Szakacs --- lib/pragma-grammar.ym | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/pragma-grammar.ym b/lib/pragma-grammar.ym index a13cee2bd..39faeef23 100644 --- a/lib/pragma-grammar.ym +++ b/lib/pragma-grammar.ym @@ -190,6 +190,7 @@ requires_stmt evt_tag_str("details", $3 ? : "none"), cfg_lexer_format_location_tag(lexer,&@1)); free($2); + free($3); PRAGMA_ERROR(); } else @@ -201,6 +202,7 @@ requires_stmt } } free($2); + free($3); } ; From d510c223bb0938efdbc1edfe7cd1e975c2e5eef9 Mon Sep 17 00:00:00 2001 From: Attila Szakacs Date: Fri, 20 Sep 2024 15:38:53 +0200 Subject: [PATCH 4/9] logsource: fix leaking stats keys during reload Signed-off-by: Attila Szakacs --- lib/logsource.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/logsource.c b/lib/logsource.c index 06586d5fb..fa3d2c5df 100644 --- a/lib/logsource.c +++ b/lib/logsource.c @@ -727,6 +727,8 @@ _set_metric_options(LogSource *self, const gchar *stats_id, StatsClusterKeyBuild self->stats_id, instance_name); stats_cluster_key_builder_set_legacy_alias_name(self->metrics.stats_kb, "processed"); stats_cluster_key_builder_add_label(self->metrics.stats_kb, stats_cluster_label("id", self->stats_id)); + if (self->metrics.recvd_messages_key) + stats_cluster_key_free(self->metrics.recvd_messages_key); self->metrics.recvd_messages_key = stats_cluster_key_builder_build_single(self->metrics.stats_kb); } stats_cluster_key_builder_pop(self->metrics.stats_kb); @@ -735,6 +737,8 @@ _set_metric_options(LogSource *self, const gchar *stats_id, StatsClusterKeyBuild { stats_cluster_key_builder_set_name(self->metrics.stats_kb, "input_event_bytes_total");; stats_cluster_key_builder_add_label(self->metrics.stats_kb, stats_cluster_label("id", self->stats_id)); + if (self->metrics.recvd_bytes_key) + stats_cluster_key_free(self->metrics.recvd_bytes_key); self->metrics.recvd_bytes_key = stats_cluster_key_builder_build_single(self->metrics.stats_kb); } stats_cluster_key_builder_pop(self->metrics.stats_kb); From f6ea6b4c266256f0381f7e5296fcd3f90eb186e4 Mon Sep 17 00:00:00 2001 From: Attila Szakacs Date: Fri, 20 Sep 2024 15:43:08 +0200 Subject: [PATCH 5/9] logthrdestdrv: add missing unregistration of retries metric Signed-off-by: Attila Szakacs --- lib/logthrdest/logthrdestdrv.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/logthrdest/logthrdestdrv.c b/lib/logthrdest/logthrdestdrv.c index 09075de99..134358422 100644 --- a/lib/logthrdest/logthrdestdrv.c +++ b/lib/logthrdest/logthrdestdrv.c @@ -1324,6 +1324,15 @@ _unregister_driver_stats(LogThreadedDestDriver *self) stats_cluster_key_free(self->metrics.processed_sc_key); self->metrics.processed_sc_key = NULL; } + + if (self->metrics.output_event_retries_sc_key) + { + stats_unregister_counter(self->metrics.output_event_retries_sc_key, SC_TYPE_SINGLE_VALUE, + &self->metrics.output_event_retries); + + stats_cluster_key_free(self->metrics.output_event_retries_sc_key); + self->metrics.output_event_retries_sc_key = NULL; + } } stats_unlock(); } From b5bf6136d093897a65e92f65014324be890d5cca Mon Sep 17 00:00:00 2001 From: Attila Szakacs Date: Fri, 20 Sep 2024 15:46:37 +0200 Subject: [PATCH 6/9] dyn-metrics-template: fix leaking VP in dyn_metrics_template_clone() Signed-off-by: Attila Szakacs --- lib/metrics/dyn-metrics-template.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/metrics/dyn-metrics-template.c b/lib/metrics/dyn-metrics-template.c index 9c8bdaf58..aaf031b38 100644 --- a/lib/metrics/dyn-metrics-template.c +++ b/lib/metrics/dyn-metrics-template.c @@ -164,6 +164,7 @@ dyn_metrics_template_clone(DynMetricsTemplate *self, GlobalConfig *cfg) LabelTemplate *label_template = (LabelTemplate *) elem->data; cloned->label_templates = g_list_append(cloned->label_templates, label_template_clone(label_template)); } + value_pairs_unref(cloned->vp); cloned->vp = value_pairs_ref(self->vp); return cloned; } From 2206579d2bd9640eb96a60b72f9b93e8829ae25c Mon Sep 17 00:00:00 2001 From: Attila Szakacs Date: Fri, 20 Sep 2024 15:48:58 +0200 Subject: [PATCH 7/9] metrics-probe: fix leaking metrics_template in _clone() Signed-off-by: Attila Szakacs --- modules/metrics-probe/metrics-probe.c | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/metrics-probe/metrics-probe.c b/modules/metrics-probe/metrics-probe.c index 7ad6f5666..9239de334 100644 --- a/modules/metrics-probe/metrics-probe.c +++ b/modules/metrics-probe/metrics-probe.c @@ -157,6 +157,7 @@ _clone(LogPipe *s) MetricsProbe *cloned = (MetricsProbe *) metrics_probe_new(s->cfg); log_parser_clone_settings(&self->super, &cloned->super); + dyn_metrics_template_free(cloned->metrics_template); cloned->metrics_template = dyn_metrics_template_clone(self->metrics_template, s->cfg); metrics_probe_set_increment_template(&cloned->super, self->increment_template); From 371b311122b99989eb962d46db66222f0804feed Mon Sep 17 00:00:00 2001 From: Attila Szakacs Date: Fri, 20 Sep 2024 15:51:34 +0200 Subject: [PATCH 8/9] transformation: fix leaking TransformationStep Signed-off-by: Attila Szakacs --- modules/appmodel/transformation.c | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/appmodel/transformation.c b/modules/appmodel/transformation.c index 2f6cc0c5c..d11119f77 100644 --- a/modules/appmodel/transformation.c +++ b/modules/appmodel/transformation.c @@ -38,6 +38,7 @@ transformation_step_free(TransformationStep *self) { g_free(self->name); g_free(self->expr); + g_free(self); } /* TransformationBlock: named list of steps */ From f5d0fb353013361b7bd3a2601a37b936c59ba661 Mon Sep 17 00:00:00 2001 From: Attila Szakacs Date: Fri, 20 Sep 2024 15:59:44 +0200 Subject: [PATCH 9/9] debuggercli: ignore pylint error about number of params Signed-off-by: Attila Szakacs --- .../syslogng/debuggercli/tests/test_langcompleter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/python-modules/syslogng/debuggercli/tests/test_langcompleter.py b/modules/python-modules/syslogng/debuggercli/tests/test_langcompleter.py index 50e942899..1369b69bf 100644 --- a/modules/python-modules/syslogng/debuggercli/tests/test_langcompleter.py +++ b/modules/python-modules/syslogng/debuggercli/tests/test_langcompleter.py @@ -57,7 +57,7 @@ class TestLangCompleter(CompleterTestCase): 'PARTIAL_TOKEN': ChoiceCompleter(("tokenP-a", "tokenP-b"), prefix='@', suffix='') } - # pylint: disable=arguments-differ,too-many-arguments + # pylint: disable=arguments-differ,too-many-arguments,too-many-positional-arguments def _construct_completer(self, expected_token=None, expected_tokens=None, replaced_token=None, replaced_token_pos=-1, completers=None, prefix="