threading setup: fix small mem leak on failure

[src/tm-threads.c:1058]: (error) Memory leak: slot
pull/699/head
Victor Julien 12 years ago
parent b4631794a8
commit 86aad660a2

@ -1012,6 +1012,11 @@ static inline TmSlot * _TmSlotSetFuncAppend(ThreadVars *tv, TmModule *tm, void *
return slot; return slot;
} }
void TmSlotFree(TmSlot *tms) {
SC_ATOMIC_DESTROY(slot->slot_data);
SCFree(tms);
}
/** /**
* \brief Appends a new entry to the slots. * \brief Appends a new entry to the slots.
* *
@ -1055,9 +1060,9 @@ void TmSlotSetFuncAppendDelayed(ThreadVars *tv, TmModule *tm, void *data,
dslot = SCMalloc(sizeof(TmDummySlot)); dslot = SCMalloc(sizeof(TmDummySlot));
if (unlikely(dslot == NULL)) { if (unlikely(dslot == NULL)) {
TmSlotFree(slot);
return; return;
} }
memset(dslot, 0, sizeof(*dslot)); memset(dslot, 0, sizeof(*dslot));
dslot->SlotFunc = SC_ATOMIC_GET(slot->SlotFunc); dslot->SlotFunc = SC_ATOMIC_GET(slot->SlotFunc);

Loading…
Cancel
Save