Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzzer details

Fuzzer: fuzz_lua

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 798 78.1%
gold [1:9] 171 16.7%
yellow [10:29] 27 2.64%
greenyellow [30:49] 3 0.29%
lawngreen 50+ 22 2.15%
All colors 1021 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
1871 1871 1 :

['luaU_undump']

3645 5416 f_parser call site: 00000 /src/lua/ldo.c:992
1797 1797 1 :

['luaK_concat']

12602 12602 exp2reg call site: 00000 /src/lua/lcode.c:916
1789 1789 1 :

['luaV_concat']

1789 1789 pushstr call site: 00274 /src/lua/lobject.c:418
1784 1784 1 :

['codeextraarg']

1784 3568 luaK_codek call site: 00000 /src/lua/lcode.c:452
1780 1780 1 :

['runafewfinalizers']

1780 1780 singlestep call site: 00065 /src/lua/lgc.c:1629
1772 1772 1 :

['luaG_runerror']

1772 1772 setnodevector call site: 00458 /src/lua/ltable.c:489
1771 1771 1 :

['luaH_setint']

1771 7104 luaH_resize call site: 00457 /src/lua/ltable.c:561
49 49 2 :

['mainpositionfromnode', 'luaC_barrierback_']

49 49 luaH_newkey call site: 00444 /src/lua/ltable.c:686
8 1958 2 :

['exp2reg', 'luaY_nvarstack']

8 3918 luaK_exp2anyreg call site: 00000 /src/lua/lcode.c:956
2 2 1 :

['markupval']

2 2 singlevaraux call site: 00000 /src/lua/lparser.c:440
0 3541 2 :

['clearbuff', 'pushstr']

0 3541 addstr2buff call site: 00270 /src/lua/lobject.c:454
0 1788 1 :

['lexerror']

0 1788 save call site: 00000 /src/lua/llex.c:61

Runtime coverage analysis

Covered functions
197
Functions that are reachable but not covered
463
Reachable functions
658
Percentage of reachable functions covered
29.64%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz_lua.c 8
lauxlib.c 29
lstate.c 18
lstring.c 15
ldo.c 25
lmem.c 6
lgc.c 73
lfunc.c 14
ltable.c 37
ltm.c 15
ldebug.c 33
lobject.c 18
lvm.c 25
llex.c 1
lapi.c 44
lzio.c 1