Browse Source

[Minor] Sanity check as ctors order is not defined

Issue: #3721
tags/3.0
Vsevolod Stakhov 3 years ago
parent
commit
cf6947e857
1 changed files with 8 additions and 3 deletions
  1. 8
    3
      src/libutil/mem_pool.c

+ 8
- 3
src/libutil/mem_pool.c View File

@@ -129,7 +129,9 @@ rspamd_mempool_entry_new (const gchar *loc)

RSPAMD_CONSTRUCTOR (rspamd_mempool_entries_ctor)
{
mempool_entries = kh_init (mempool_entry);
if (mempool_entries == NULL) {
mempool_entries = kh_init (mempool_entry);
}
}

RSPAMD_DESTRUCTOR (rspamd_mempool_entries_dtor)
@@ -150,6 +152,10 @@ rspamd_mempool_get_entry (const gchar *loc)
khiter_t k;
struct rspamd_mempool_entry_point *elt;

if (G_UNLIKELY (!mempool_entries)) {
rspamd_mempool_entries_ctor();
}

k = kh_get (mempool_entry, mempool_entries, loc);

if (k != kh_end (mempool_entries)) {
@@ -158,10 +164,9 @@ rspamd_mempool_get_entry (const gchar *loc)
return elt;
}

return rspamd_mempool_entry_new (loc);
return rspamd_mempool_entry_new(loc);
}


static struct _pool_chain *
rspamd_mempool_chain_new (gsize size, enum rspamd_mempool_chain_type pool_type)
{

Loading…
Cancel
Save