fuzz: improves sigpcap target

So that it can cover alert generation
ie in function DetectRun, get past scratch.sgh == NULL condition
pull/4939/head
Philippe Antoine 6 years ago
parent e5fd47dcfd
commit 304aedfa95

@ -2282,7 +2282,7 @@ static void PostRunStartedDetectSetup(const SCInstance *suri)
} }
} }
static void PostConfLoadedDetectSetup(SCInstance *suri) void PostConfLoadedDetectSetup(SCInstance *suri)
{ {
DetectEngineCtx *de_ctx = NULL; DetectEngineCtx *de_ctx = NULL;
if (!suri->disabled_detect) { if (!suri->disabled_detect) {

@ -186,6 +186,7 @@ extern int run_mode;
int SuricataMain(int argc, char **argv); int SuricataMain(int argc, char **argv);
int InitGlobal(void); int InitGlobal(void);
int PostConfLoadedSetup(SCInstance *suri); int PostConfLoadedSetup(SCInstance *suri);
void PostConfLoadedDetectSetup(SCInstance *suri);
void PreRunInit(const int runmode); void PreRunInit(const int runmode);
void PreRunPostPrivsDropInit(const int runmode); void PreRunPostPrivsDropInit(const int runmode);

@ -147,6 +147,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
InitGlobal(); InitGlobal();
GlobalsInitPreConfig();
run_mode = RUNMODE_PCAP_FILE; run_mode = RUNMODE_PCAP_FILE;
//redirect logs to /tmp //redirect logs to /tmp
ConfigSetLogDirectory("/tmp/"); ConfigSetLogDirectory("/tmp/");
@ -159,14 +160,9 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
//loads rules after init //loads rules after init
suricata.delayed_detect = 1; suricata.delayed_detect = 1;
SupportFastPatternForSigMatchTypes();
PostConfLoadedSetup(&suricata); PostConfLoadedSetup(&suricata);
PreRunPostPrivsDropInit(run_mode); PreRunPostPrivsDropInit(run_mode);
PostConfLoadedDetectSetup(&suricata);
//dummy init before DetectEngineReload
DetectEngineCtx * de_ctx = DetectEngineCtxInit();
de_ctx->flags |= DE_QUIET;
DetectEngineAddToMaster(de_ctx);
memset(&tv, 0, sizeof(tv)); memset(&tv, 0, sizeof(tv));
dtv = DecodeThreadVarsAlloc(&tv); dtv = DecodeThreadVarsAlloc(&tv);

Loading…
Cancel
Save