21 lines
718 B
Diff
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);
|
||
|
}
|