aboutsummaryrefslogtreecommitdiff
path: root/deps/md4c/test/fuzzers/fuzz-mdhtml.c
blob: 62428c87fc75ca4cabba2df64080b65a066c23c2 (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
26
27
28
#include <stdint.h>
#include <stdlib.h>
#include "md4c-html.h"

static void
process_output(const MD_CHAR* text, MD_SIZE size, void* userdata)
{
   /* This is  dummy function because we dont need any processing on the data */
   return;
}

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size){
    if (size < 8) {
        return 0;
    }

    unsigned int parser_flags = *(unsigned int*)data;
    data += 4; size -= 4;
    unsigned int renderer_flags = *(unsigned int*)data;
    data += 4; size -= 4;

    /* Allocate enough space */
    char *out = malloc(size*3);
    md_html(data, size, process_output, out, parser_flags, renderer_flags);
    free(out);

    return 0;
}