if (s->CidrSrc != NULL)
IPOnlyCIDRListFree(s->CidrSrc);
- SigMatch *sm = s->sm_lists[DETECT_SM_LIST_MATCH], *nsm;
- while (sm != NULL) {
- nsm = sm->next;
- SigMatchFree(sm);
- sm = nsm;
- }
-
- sm = s->sm_lists[DETECT_SM_LIST_PMATCH];
- while (sm != NULL) {
- nsm = sm->next;
- SigMatchFree(sm);
- sm = nsm;
- }
-
- sm = s->sm_lists[DETECT_SM_LIST_UMATCH];
- while (sm != NULL) {
- nsm = sm->next;
- SigMatchFree(sm);
- sm = nsm;
- }
-
- sm = s->sm_lists[DETECT_SM_LIST_AMATCH];
- while (sm != NULL) {
- nsm = sm->next;
- SigMatchFree(sm);
- sm = nsm;
- }
-
- sm = s->sm_lists[DETECT_SM_LIST_TMATCH];
- while (sm != NULL) {
- nsm = sm->next;
- SigMatchFree(sm);
- sm = nsm;
+ int i;
+ for (i = 0; i < DETECT_SM_LIST_MAX; i++) {
+ SigMatch *sm = s->sm_lists[i], *nsm;
+ while (sm != NULL) {
+ nsm = sm->next;
+ SigMatchFree(sm);
+ sm = nsm;
+ }
}
DetectAddressHeadCleanup(&s->src);