rspamd/protocol.c.patch

21 lines
718 B
Diff

commit 7494b0f7ddbcd098da6cf02b40c1db4878cc8310
Author: Vsevolod Stakhov <vsevolod@highsecure.ru>
Date: Tue Mar 27 13:24:53 2018 +0100
[CritFix] Plug bad memory leak in protocol reply
diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c
index 6662bf677..77bbe04bf 100644
--- a/src/libserver/protocol.c
+++ b/src/libserver/protocol.c
@@ -1059,6 +1059,9 @@ rspamd_protocol_write_ucl (struct rspamd_task *task,
rspamd_task_set_finish_time (task);
top = ucl_object_typed_new (UCL_OBJECT);
+ rspamd_mempool_add_destructor (task->task_pool,
+ (rspamd_mempool_destruct_t)ucl_object_unref, top);
+
if (flags & RSPAMD_PROTOCOL_METRICS) {
rspamd_metric_result_ucl (task, task->result, top);
}