detect: when freeing sig also see sm in inspect engine

pull/2559/head
Victor Julien 9 years ago
parent 2f87c975d4
commit f81b90dacd

@ -1060,9 +1060,9 @@ void SigFree(Signature *s)
int i; int i;
for (i = 0; i < DETECT_SM_LIST_MAX; i++) { for (i = 0; i < DETECT_SM_LIST_MAX; i++) {
SigMatch *sm = s->sm_lists[i], *nsm; SigMatch *sm = s->sm_lists[i];
while (sm != NULL) { while (sm != NULL) {
nsm = sm->next; SigMatch *nsm = sm->next;
SigMatchFree(sm); SigMatchFree(sm);
sm = nsm; sm = nsm;
} }
@ -1097,6 +1097,12 @@ void SigFree(Signature *s)
DetectEngineAppInspectionEngine *ie = s->app_inspect; DetectEngineAppInspectionEngine *ie = s->app_inspect;
while (ie) { while (ie) {
DetectEngineAppInspectionEngine *next = ie->next; DetectEngineAppInspectionEngine *next = ie->next;
SigMatch *sm = ie->sm;
while (sm != NULL) {
SigMatch *nsm = sm->next;
SigMatchFree(sm);
sm = nsm;
}
SCFree(ie); SCFree(ie);
ie = next; ie = next;
} }

Loading…
Cancel
Save