diff --git a/src/decode.c b/src/decode.c index 3a109b378f58..dfcd8dacf945 100644 --- a/src/decode.c +++ b/src/decode.c @@ -496,7 +496,10 @@ void DecodeRegisterPerfCounters(DecodeThreadVars *dtv, ThreadVars *tv) g_counter_table = HashTableInit(256, StringHashFunc, StringHashCompareFunc, StringHashFreeFunc); - BUG_ON(g_counter_table == NULL); + if (g_counter_table == NULL) { + FatalError(SC_ERR_INITIALIZATION, "decoder counter hash " + "table init failed"); + } } char name[256]; @@ -508,8 +511,13 @@ void DecodeRegisterPerfCounters(DecodeThreadVars *dtv, ThreadVars *tv) const char *found = HashTableLookup(g_counter_table, name, 0); if (!found) { char *add = SCStrdup(name); - BUG_ON(!add); - HashTableAdd(g_counter_table, add, 0); + if (add == NULL) + FatalError(SC_ERR_INITIALIZATION, "decoder counter hash " + "table name init failed"); + int r = HashTableAdd(g_counter_table, add, 0); + if (r != 0) + FatalError(SC_ERR_INITIALIZATION, "decoder counter hash " + "table name add failed"); found = add; } dtv->counter_engine_events[i] = StatsRegisterCounter(