Sfoglia il codice sorgente

[Fix] Plug memory leak

tags/2.1
Vsevolod Stakhov 4 anni fa
parent
commit
880300de81
1 ha cambiato i file con 5 aggiunte e 3 eliminazioni
  1. 5
    3
      src/libmime/scan_result.c

+ 5
- 3
src/libmime/scan_result.c Vedi File

@@ -521,8 +521,11 @@ rspamd_task_add_result_option (struct rspamd_task *task,
gint r;

if (s && val) {
if (s->options && !(s->sym &&
(s->sym->flags & RSPAMD_SYMBOL_FLAG_ONEPARAM)) &&
if (!s->options) {
s->options = kh_init (rspamd_options_hash);
}

if (!(s->sym && (s->sym->flags & RSPAMD_SYMBOL_FLAG_ONEPARAM)) &&
kh_size (s->options) < task->cfg->default_max_shots) {
/* Append new options */
k = kh_get (rspamd_options_hash, s->options, val);
@@ -540,7 +543,6 @@ rspamd_task_add_result_option (struct rspamd_task *task,
}
}
else {
s->options = kh_init (rspamd_options_hash);
opt = rspamd_mempool_alloc0 (task->task_pool, sizeof (*opt));
opt_cpy = rspamd_mempool_strdup (task->task_pool, val);
k = kh_put (rspamd_options_hash, s->options, opt_cpy, &r);

Loading…
Annulla
Salva