summaryrefslogtreecommitdiff
blob: 78fcbca7ccfe81d355a7cb18085f5d3eeb20ce46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "leptfuzz.h"
#include <sys/types.h>
#include <unistd.h>

extern "C" int
LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
    leptSetStdNullHandler();

    L_RECOG  *recog;
    char filename[256];
    sprintf(filename, "/tmp/libfuzzer.%d", getppid());

    FILE *fp = fopen(filename, "wb");
    if (!fp)
                return 0;
    fwrite(data, size, 1, fp);
    fclose(fp);

    recog = recogRead(filename);

    recogDestroy(&recog);
    unlink(filename);
    return 0;
}