filter.c:filter_free:if filter parameter is NULL, return.
tee.c:freeSession: if my_session->dummy_filterdef is NULL, don't try to release the memory
This commit is contained in:
VilhoRaatikka 2015-01-01 01:20:21 +02:00
parent f4f537a3e2
commit 2eee4ae4fd
2 changed files with 25 additions and 20 deletions

View File

@ -91,28 +91,31 @@ filter_free(FILTER_DEF *filter)
{
FILTER_DEF *ptr;
/* First of all remove from the linked list */
spinlock_acquire(&filter_spin);
if (allFilters == filter)
if (filter)
{
allFilters = filter->next;
}
else
{
ptr = allFilters;
while (ptr && ptr->next != filter)
/* First of all remove from the linked list */
spinlock_acquire(&filter_spin);
if (allFilters == filter)
{
ptr = ptr->next;
allFilters = filter->next;
}
if (ptr)
ptr->next = filter->next;
}
spinlock_release(&filter_spin);
else
{
ptr = allFilters;
while (ptr && ptr->next != filter)
{
ptr = ptr->next;
}
if (ptr)
ptr->next = filter->next;
}
spinlock_release(&filter_spin);
/* Clean up session and free the memory */
free(filter->name);
free(filter->module);
free(filter);
/* Clean up session and free the memory */
free(filter->name);
free(filter->module);
free(filter);
}
}
/**

View File

@ -527,8 +527,10 @@ SESSION* ses = my_session->branch_session;
my_session->branch_session = NULL;
}
}
filter_free(my_session->dummy_filterdef);
if (my_session->dummy_filterdef)
{
filter_free(my_session->dummy_filterdef);
}
free(session);
return;
}