Fix two memory leaks reported on mailing list.

http://mailman.icsi.berkeley.edu/pipermail/bro/2016-June/010089.html
This commit is contained in:
Johanna Amann 2016-06-20 11:25:49 -07:00
parent 66e7e4be04
commit 87da09ddca
2 changed files with 9 additions and 0 deletions

View file

@ -42,6 +42,8 @@ NFA_State::~NFA_State()
{ {
for ( int i = 0; i < xtions.length(); ++i ) for ( int i = 0; i < xtions.length(); ++i )
Unref(xtions[i]); Unref(xtions[i]);
delete epsclosure;
} }
void NFA_State::AddXtionsTo(NFA_state_list* ns) void NFA_State::AddXtionsTo(NFA_state_list* ns)

View file

@ -14,6 +14,12 @@
#include "Reporter.h" #include "Reporter.h"
#include "Net.h" #include "Net.h"
static void persistence_serialiser_delete_func(void* val)
{
time_t* t = reinterpret_cast<time_t*>(val);
free(t);
}
class IncrementalWriteTimer : public Timer { class IncrementalWriteTimer : public Timer {
public: public:
IncrementalWriteTimer(double t, PersistenceSerializer::SerialStatus* s) IncrementalWriteTimer(double t, PersistenceSerializer::SerialStatus* s)
@ -36,6 +42,7 @@ void IncrementalWriteTimer::Dispatch(double t, int is_expire)
PersistenceSerializer::PersistenceSerializer() PersistenceSerializer::PersistenceSerializer()
{ {
dir = 0; dir = 0;
files.SetDeleteFunc(persistence_serialiser_delete_func);
} }
PersistenceSerializer::~PersistenceSerializer() PersistenceSerializer::~PersistenceSerializer()