storage: fix freeing storage

Fix freeing storage. Also add workaround for unittests that don't
(fully) setup storage.

Bug #991.
pull/592/head
Victor Julien 12 years ago
parent 37669bfdd2
commit b6efaeb0c0

@ -281,6 +281,10 @@ void StorageFreeById(Storage *storage, StorageEnum type, int id)
{
#ifdef DEBUG
BUG_ON(!storage_registraton_closed);
#endif
#ifdef UNITTESTS
if (storage_map == NULL)
return;
#endif
SCLogDebug("storage %p id %d", storage, id);
@ -297,12 +301,15 @@ void StorageFreeById(Storage *storage, StorageEnum type, int id)
void StorageFreeAll(Storage *storage, StorageEnum type)
{
if (*storage == NULL)
if (storage == NULL)
return;
#ifdef DEBUG
BUG_ON(!storage_registraton_closed);
#endif
#ifdef UNITTESTS
if (storage_map == NULL)
return;
#endif
Storage *store = storage;
int i;
@ -323,6 +330,10 @@ void StorageFree(Storage **storage, StorageEnum type)
#ifdef DEBUG
BUG_ON(!storage_registraton_closed);
#endif
#ifdef UNITTESTS
if (storage_map == NULL)
return;
#endif
Storage *store = *storage;
int i;

Loading…
Cancel
Save