Do fuzzing test for TinyGLTF API.
tinygltf_json.h)-fsanitize=fuzzer. at least clang 8.0 should work)$ sudo apt install clang++-8 $ sudo apt install libfuzzer-8-dev
Optionally, if you didn't set update-alternatives you can set clang++ to point to clang++8
$ sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-8 10 $ sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-8 10
$ CXX=clang++ CC=clang meson build $ cd build $ ninja
This builds two fuzzers:
fuzz_gltf – default nlohmann/json backendfuzz_gltf_customjson – custom tinygltf_json.h backend (tests both ASCII and binary parsing paths)Increase memory limit. e.g. -rss_limit_mb=50000
$ ./fuzz_gltf -rss_limit_mb=20000 -jobs 4 $ ./fuzz_gltf_customjson -rss_limit_mb=20000 -jobs 4