Преглед изворни кода

[Minor] Plug more leaks

tags/2.0
Vsevolod Stakhov пре 4 година
родитељ
комит
7e8b8d1cbb
4 измењених фајлова са 6 додато и 8 уклоњено
  1. 2
    7
      src/libmime/lang_detection.c
  2. 1
    0
      src/libserver/rspamd_symcache.c
  3. 1
    1
      src/libserver/task.c
  4. 2
    0
      src/libutil/map.c

+ 2
- 7
src/libmime/lang_detection.c Прегледај датотеку

@@ -494,7 +494,8 @@ rspamd_language_detector_read_file (struct rspamd_config *cfg,
rspamd_ftok_t *tok;
gchar *dst;

tok = g_malloc (sizeof (*tok) + wlen + 1);
tok = rspamd_mempool_alloc (cfg->cfg_pool,
sizeof (*tok) + wlen + 1);
dst = ((gchar *)tok) + sizeof (*tok);
rspamd_strlcpy (dst, saved, wlen + 1);
tok->begin = dst;
@@ -737,8 +738,6 @@ static void
rspamd_language_detector_dtor (struct rspamd_lang_detector *d)
{
if (d) {
rspamd_ftok_t *tok;

for (guint i = 0; i < RSPAMD_LANGUAGE_MAX; i ++) {
kh_destroy (rspamd_trigram_hash, d->trigramms[i]);
rspamd_multipattern_destroy (d->stop_words[i].mp);
@@ -749,10 +748,6 @@ rspamd_language_detector_dtor (struct rspamd_lang_detector *d)
g_ptr_array_free (d->languages, TRUE);
}

kh_foreach_key (d->stop_words_norm, tok, {
g_free (tok); /* String is embedded and freed automatically */
});

kh_destroy (rspamd_stopwords_hash, d->stop_words_norm);
}
}

+ 1
- 0
src/libserver/rspamd_symcache.c Прегледај датотеку

@@ -1149,6 +1149,7 @@ rspamd_symcache_destroy (struct rspamd_symcache *cache)
g_ptr_array_free (cache->postfilters, TRUE);
g_ptr_array_free (cache->idempotent, TRUE);
g_ptr_array_free (cache->composites, TRUE);
g_ptr_array_free (cache->virtual, TRUE);
REF_RELEASE (cache->items_by_order);

if (cache->peak_cb != -1) {

+ 1
- 1
src/libserver/task.c Прегледај датотеку

@@ -271,7 +271,7 @@ rspamd_task_free (struct rspamd_task *task)
g_array_free (tp->normalized_hashes, TRUE);
}
if (tp->languages) {
g_ptr_array_unref (tp->languages);
g_ptr_array_free (tp->languages, TRUE);
}
}


+ 2
- 0
src/libutil/map.c Прегледај датотеку

@@ -1178,8 +1178,10 @@ rspamd_map_periodic_callback (struct ev_loop *loop, ev_timer *w, int revents)
{
struct map_periodic_cbdata *cbd = (struct map_periodic_cbdata *)w->data;

MAP_RETAIN (cbd, "periodic");
ev_timer_stop (loop, w);
rspamd_map_process_periodic (cbd);
MAP_RELEASE (cbd, "periodic");
}

static void

Loading…
Откажи
Сачувај