void DetectFileextFree(void *ptr) {
if (ptr != NULL) {
DetectFileextData *fileext = (DetectFileextData *)ptr;
+ if (fileext->ext != NULL)
+ SCFree(fileext->ext);
SCFree(fileext);
}
}
if (filemagic->bm_ctx != NULL) {
BoyerMooreCtxDeInit(filemagic->bm_ctx);
}
+ if (filemagic->name != NULL)
+ SCFree(filemagic->name);
SCFree(filemagic);
}
}
if (filename->bm_ctx != NULL) {
BoyerMooreCtxDeInit(filename->bm_ctx);
}
+ if (filename->name != NULL)
+ SCFree(filename->name);
SCFree(filename);
}
}
int DetectFilestoreMatch (ThreadVars *, DetectEngineThreadCtx *, Flow *, uint8_t, void *, Signature *, SigMatch *);
static int DetectFilestoreSetup (DetectEngineCtx *, Signature *, char *);
+static void DetectFilestoreFree(void *);
/**
* \brief Registration function for keyword: filestore
sigmatch_table[DETECT_FILESTORE].AppLayerMatch = DetectFilestoreMatch;
sigmatch_table[DETECT_FILESTORE].alproto = ALPROTO_HTTP;
sigmatch_table[DETECT_FILESTORE].Setup = DetectFilestoreSetup;
- sigmatch_table[DETECT_FILESTORE].Free = NULL;
+ sigmatch_table[DETECT_FILESTORE].Free = DetectFilestoreFree;
sigmatch_table[DETECT_FILESTORE].RegisterTests = NULL;
const char *eb;
SCFree(sm);
return -1;
}
+
+static void DetectFilestoreFree(void *ptr) {
+ if (ptr != NULL) {
+ SCFree(ptr);
+ }
+}