-
Problem report
-
Resolution: Fixed
-
Trivial
-
6.2.3
-
None
-
Sprint 93 (Oct 2022)
-
0.125
When deregistering kv paths the kvs hashset record is removed without releasing string data it holds.
diff --git a/src/libs/zbxdbcache/user_macro.c b/src/libs/zbxdbcache/user_macro.c
index ae2cc7a4e05..66c0417a6f7 100644
--- a/src/libs/zbxdbcache/user_macro.c
+++ b/src/libs/zbxdbcache/user_macro.c
@@ -419,6 +419,10 @@ static void um_macro_kv_remove(zbx_um_macro_t *macro, zbx_dc_macro_kv_t *mkv)
if (0 == mkv->kv->macros.values_num)
{
zbx_vector_uint64_pair_destroy(&mkv->kv->macros);
+ dc_strpool_release(mkv->kv->key);
+ if (NULL != mkv->kv->value)
+ dc_strpool_release(mkv->kv->value);
+
zbx_hashset_remove_direct(&mkv->kv_path->kvs, mkv->kv);
if (0 == mkv->kv_path->kvs.num_data)
dc_kvs_path_remove(mkv->kv_path);