Coverage Report

Created: 2025-09-04 07:51

/src/fluent-bit/tests/internal/fuzzers/strp_fuzzer.c
Line
Count
Source
1
#include <stdint.h>
2
#include <string.h>
3
#include <stdlib.h>
4
#include <fluent-bit/flb_time.h>
5
#include <fluent-bit/flb_parser.h>
6
#include <msgpack.h>
7
#include <fluent-bit/flb_info.h>
8
#include <fluent-bit/flb_mem.h>
9
#include <fluent-bit/flb_pack.h>
10
#include <fluent-bit/flb_utils.h>
11
#include <fluent-bit/flb_version.h>
12
#include <fluent-bit/flb_strptime.h>
13
14
#include "flb_fuzz_header.h"
15
16
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
17
1.07k
{
18
1.07k
    if (size < 40) {
19
10
        return 0;
20
10
    }
21
22
    /* Set fuzzer-malloc chance of failure */
23
1.06k
    flb_malloc_mod = 25000;
24
1.06k
    flb_malloc_p = 0;
25
26
1.06k
    char *fmt = get_null_terminated(size - 30, &data, &size);
27
1.06k
    char *buf = get_null_terminated(size, &data, &size);
28
29
1.06k
    struct tm tt;
30
1.06k
    flb_strptime(buf, fmt, &tt);
31
32
1.06k
    flb_free(buf);
33
1.06k
    flb_free(fmt);
34
1.06k
    return 0;
35
1.07k
}