fuzz: really restrict path for nalloc

Ticket: 4125
pull/14481/head
Philippe Antoine 4 weeks ago committed by Victor Julien
parent e305c6c9df
commit 726139a539

@ -131,15 +131,17 @@ extern "C"
#define NALLOC_PREFIX_MAX 1024
static void nalloc_restrict_file_prefix(uint8_t levels_up)
__attribute__((noinline)) static void nalloc_restrict_file_prefix(uint8_t levels_up)
{
snprintf(nalloc_prefix_dir, PATH_MAX, "%s", __FILE__);
#ifdef NALLOC_ASAN
void *pc = __builtin_return_address(0);
__sanitizer_symbolize_pc(pc, "%s", nalloc_prefix_dir, sizeof(nalloc_prefix_dir) - 1);
uint16_t slashes[levels_up];
uint8_t slash_off = 0;
// /src/suricata/src/test/fuzz/file.c -3 levels -> /src/suricata/src/
for (uint16_t i = 0; i < PATH_MAX; i++) {
if (nalloc_prefix_dir[i] == 0) {
uint32_t cut = slashes[(slash_off + 1) % levels_up];
uint32_t cut = slashes[slash_off];
nalloc_prefix_dir[cut] = 0;
nalloc_prefix = nalloc_prefix_dir;
nalloc_prefix_len = cut;
@ -150,6 +152,7 @@ extern "C"
slash_off = (slash_off + 1) % levels_up;
}
}
#endif
}
// Generic init, using env variables to get parameters

Loading…
Cancel
Save