From: Vsevolod Stakhov Date: Tue, 25 Nov 2025 09:06:20 +0000 (+0000) Subject: [Fix] Add missing destructor for exceptions list in injected text parts X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce10914cb7977960e11269a9e569a43645b46805;p=thirdparty%2Frspamd.git [Fix] Add missing destructor for exceptions list in injected text parts The rspamd_message_process_injected_text_part function was missing the destructor registration for text_part->exceptions GList, causing memory leaks when processing injected parts via lua_task_inject_part. --- diff --git a/src/libmime/message.c b/src/libmime/message.c index 0410a50706..3d9e0d0849 100644 --- a/src/libmime/message.c +++ b/src/libmime/message.c @@ -1131,6 +1131,15 @@ void rspamd_message_process_injected_text_part(struct rspamd_task *task, rspamd_url_text_extract(task->task_pool, task, text_part, cur_url_order, RSPAMD_URL_FIND_ALL); + /* Add destructor for exceptions list (created by normalize and URL extraction) */ + if (text_part->exceptions) { + text_part->exceptions = g_list_sort(text_part->exceptions, + exceptions_compare_func); + rspamd_mempool_add_destructor(task->task_pool, + (rspamd_mempool_destruct_t) g_list_free, + text_part->exceptions); + } + /* Create words for Bayes/stats */ rspamd_mime_part_create_words(task, text_part); }