diff --git a/src/flow-storage.c b/src/flow-storage.c index 5685e717bd..d8deca27ce 100644 --- a/src/flow-storage.c +++ b/src/flow-storage.c @@ -52,7 +52,8 @@ void FlowFreeStorageById(Flow *f, int id) { } void FlowFreeStorage(Flow *f) { - StorageFreeAll((Storage *)((void *)f + sizeof(Flow)), STORAGE_FLOW); + if (FlowStorageSize() > 0) + StorageFreeAll((Storage *)((void *)f + sizeof(Flow)), STORAGE_FLOW); } int FlowStorageRegister(const char *name, const unsigned int size, void *(*Init)(unsigned int), void (*Free)(void *)) { diff --git a/src/host-storage.c b/src/host-storage.c index 3b391adfb5..b17606ae51 100644 --- a/src/host-storage.c +++ b/src/host-storage.c @@ -48,7 +48,8 @@ void HostFreeStorageById(Host *h, int id) { } void HostFreeStorage(Host *h) { - StorageFreeAll((Storage *)((void *)h + sizeof(Host)), STORAGE_HOST); + if (HostStorageSize() > 0) + StorageFreeAll((Storage *)((void *)h + sizeof(Host)), STORAGE_HOST); } int HostStorageRegister(const char *name, const unsigned int size, void *(*Init)(unsigned int), void (*Free)(void *)) {