suricata
fuzz_confyamlloadstring.c
Go to the documentation of this file.
1 /**
2  * @file
3  * @author Philippe Antoine <contact@catenacyber.fr>
4  * fuzz target for SCConfYamlLoadString
5  */
6 
7 #include "suricata-common.h"
8 #include "suricata.h"
9 #include "conf-yaml-loader.h"
10 #include "nallocinc.c"
11 
12 SC_ATOMIC_EXTERN(unsigned int, engine_stage);
13 
14 int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
15 
16 static int initialized = 0;
17 
18 int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
19 {
20  if (initialized == 0) {
21  //Redirects logs to /dev/null
22  setenv("SC_LOG_OP_IFACE", "file", 0);
23  setenv("SC_LOG_FILE", "/dev/null", 0);
24  //global init
25  InitGlobal();
27  SC_ATOMIC_SET(engine_stage, SURICATA_RUNTIME);
28  nalloc_init(NULL);
29  // do not restrict nalloc
30  initialized = 1;
31  }
32 
33  nalloc_start(data, size);
34  SCConfYamlLoadString((const char *)data, size);
35  nalloc_end();
36 
37  return 0;
38 }
SCConfYamlLoadString
int SCConfYamlLoadString(const char *string, size_t len)
Load configuration from a YAML string.
Definition: conf-yaml-loader.c:535
SC_ATOMIC_EXTERN
SC_ATOMIC_EXTERN(unsigned int, engine_stage)
SC_ATOMIC_SET
#define SC_ATOMIC_SET(name, val)
Set the value for the atomic variable.
Definition: util-atomic.h:386
LLVMFuzzerTestOneInput
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
Definition: fuzz_confyamlloadstring.c:18
nallocinc.c
SCRunmodeSet
void SCRunmodeSet(SCRunMode run_mode)
Set the current run mode.
Definition: suricata.c:287
SURICATA_RUNTIME
@ SURICATA_RUNTIME
Definition: suricata.h:101
RUNMODE_UNITTEST
@ RUNMODE_UNITTEST
Definition: runmodes.h:41
conf-yaml-loader.h
setenv
void setenv(const char *name, const char *value, int overwrite)
nalloc_init
#define nalloc_init(x)
Definition: nallocinc.c:49
suricata-common.h
nalloc_start
#define nalloc_start(x, y)
Definition: nallocinc.c:51
nalloc_end
#define nalloc_end()
Definition: nallocinc.c:52
suricata.h
InitGlobal
int InitGlobal(void)
Global initialization common to all runmodes.
Definition: suricata.c:2985