Coverage Report

Created: 2026-08-13 07:07

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wasm3/platforms/app_fuzz/fuzzer.c
Line
Count
Source
1
//
2
//  Wasm3 - high performance WebAssembly interpreter written in C.
3
//
4
//  Copyright © 2019 Steven Massey, Volodymyr Shymanskyy.
5
//  All rights reserved.
6
//
7
8
#include <stdint.h>
9
#include <stddef.h>
10
11
#include "wasm3.h"
12
13
#define FATAL(...) __builtin_trap()
14
15
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
16
1.91k
{
17
1.91k
    M3Result result = m3Err_none;
18
19
1.91k
    if (size < 8 || size > 256*1024) {
20
5
        return 0;
21
5
    }
22
23
1.91k
    IM3Environment env = m3_NewEnvironment ();
24
1.91k
    if (env) {
25
1.91k
        IM3Runtime runtime = m3_NewRuntime (env, 128, NULL);
26
1.91k
        if (runtime) {
27
1.91k
            IM3Module module = NULL;
28
1.91k
            result = m3_ParseModule (env, &module, data, size);
29
1.91k
            if (module) {
30
662
                result = m3_LoadModule (runtime, module);
31
662
                if (result == 0) {
32
661
                    IM3Function f = NULL;
33
661
                    result = m3_FindFunction (&f, runtime, "fib");
34
                    /* TODO:
35
                    if (f) {
36
                        m3_CallV (f, 10);
37
                    }*/
38
661
                } else {
39
1
                    m3_FreeModule (module);
40
1
                }
41
662
            }
42
43
1.91k
            m3_FreeRuntime(runtime);
44
1.91k
        }
45
1.91k
        m3_FreeEnvironment(env);
46
1.91k
    }
47
48
1.91k
    return 0;
49
1.91k
}