]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Libucl: avoid memory leak on objects merging
authorVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 24 Sep 2022 13:38:48 +0000 (14:38 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 24 Sep 2022 13:38:48 +0000 (14:38 +0100)
contrib/libucl/ucl_util.c

index 13544af28dfbf7f20b4d79fb25473fe56e463d5a..3f2483c10f65fe4a2f3bfaa88c5e5eb4ea00787d 100644 (file)
@@ -2604,6 +2604,7 @@ ucl_object_merge (ucl_object_t *top, ucl_object_t *elt, bool copy)
                                                if (!ucl_object_merge (found, cp, copy)) {
                                                        return false;
                                                }
+                                               ucl_object_unref (cp);
                                        }
                                        else {
                                                ucl_hash_replace (top->value.ov, found, cp);
@@ -2635,6 +2636,7 @@ ucl_object_merge (ucl_object_t *top, ucl_object_t *elt, bool copy)
                                        if (!ucl_object_merge (found, cp, copy)) {
                                                return false;
                                        }
+                                       ucl_object_unref (cp);
                                }
                                else {
                                        ucl_hash_replace (top->value.ov, found, cp);