Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues
Report generation date: 2025-07-01

Project overview: sleuthkit

High level conclusions

Reachability and coverage overview

Functions statically reachable by fuzzers
32.0%
436 / 1378
Cyclomatic complexity statically reachable by fuzzers
28.0%
4116 / 14680
Runtime code coverage of functions
28.0%
392 / 1378

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: mmls_mac_fuzzer

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 717 91.6%
gold [1:9] 3 0.38%
yellow [10:29] 2 0.25%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 60 7.67%
All colors 782 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
84 84 4 :

['detectDiskEncryption', 'strncmp', 'free', 'strcmp']

833 1318 tsk_vs_open call site: 00026 /src/sleuthkit/tsk/vs/mm_open.c:60
5 5 1 :

['img_read_no_cache(TSK_IMG_INFO*, long, char*, unsigned long)']

5 19 tsk_img_read_legacy call site: 00000 /src/sleuthkit/tsk/img/img_io.cpp:237
0 60 3 :

['tsk_error_set_errstr', 'tsk_error_reset', 'tsk_error_set_errno']

0 60 tsk_img_read call site: 00059 /src/sleuthkit/tsk/img/img_io.cpp:338
0 60 3 :

['tsk_error_set_errstr', 'tsk_error_reset', 'tsk_error_set_errno']

0 60 tsk_vs_mac_open call site: 00684 /src/sleuthkit/tsk/vs/mac.c:199
0 60 3 :

['tsk_error_set_errstr', 'tsk_error_reset', 'tsk_error_set_errno']

0 60 tsk_vs_read_block call site: 00043 /src/sleuthkit/tsk/vs/mm_io.c:34
0 60 3 :

['tsk_error_set_errstr', 'tsk_error_reset', 'tsk_error_set_errno']

0 60 tsk_vs_part_walk call site: 00772 /src/sleuthkit/tsk/vs/mm_part.c:256
0 5 1 :

['mac_close']

0 5 tsk_vs_mac_open call site: 00720 /src/sleuthkit/tsk/vs/mac.c:255
0 0 None 5 21 tsk_img_read_legacy call site: 00000 /src/sleuthkit/tsk/img/img_io.cpp:128
0 0 None 2 480 mac_load_table call site: 00689 /src/sleuthkit/tsk/vs/mac.c:35
0 0 None 2 445 mac_load_table call site: 00704 /src/sleuthkit/tsk/vs/mac.c:112
0 0 None 0 169 tsk_vs_mac_open call site: 00689 /src/sleuthkit/tsk/vs/mac.c:233
0 0 None 0 169 tsk_vs_mac_open call site: 00689 /src/sleuthkit/tsk/vs/mac.c:234

Runtime coverage analysis

Covered functions
37
Functions that are reachable but not covered
59
Reachable functions
87
Percentage of reachable functions covered
32.18%
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
/src/sleuthkit/ossfuzz/mmls_fuzzer.cc 1
/src/sleuthkit/ossfuzz/mem_img.h 1
/src/sleuthkit/tsk/img/legacy_cache.cpp 2
/src/sleuthkit/tsk/base/tsk_lock.c 2
/src/sleuthkit/tsk/vs/mm_open.c 1
/src/sleuthkit/tsk/base/tsk_error.c 10
/src/sleuthkit/tsk/vs/dos.c 5
/src/sleuthkit/tsk/base/mymalloc.c 1
/src/sleuthkit/tsk/base/tsk_printf.c 1
/src/sleuthkit/tsk/vs/mm_io.c 1
/src/sleuthkit/tsk/img/img_io.cpp 1
/src/sleuthkit/tsk/base/tsk_endian.c 3
/src/sleuthkit/tsk/vs/mm_part.c 4
/src/sleuthkit/tsk/vs/bsd.c 4
/src/sleuthkit/tsk/vs/gpt.c 5
/src/sleuthkit/tsk/base/tsk_unicode.c 1
/src/sleuthkit/tsk/vs/sun.c 6
/src/sleuthkit/tsk/vs/mac.c 3
/src/sleuthkit/tsk/util/detect_encryption.c 8
/src/sleuthkit/tsk/img/img_open.cpp 1

Fuzzer: mmls_sun_fuzzer

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 707 90.4%
gold [1:9] 6 0.76%
yellow [10:29] 5 0.63%
greenyellow [30:49] 3 0.38%
lawngreen 50+ 61 7.80%
All colors 782 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
84 84 4 :

['detectDiskEncryption', 'strncmp', 'free', 'strcmp']

800 1318 tsk_vs_open call site: 00026 /src/sleuthkit/tsk/vs/mm_open.c:60
5 5 1 :

['img_read_no_cache(TSK_IMG_INFO*, long, char*, unsigned long)']

5 19 tsk_img_read_legacy call site: 00000 /src/sleuthkit/tsk/img/img_io.cpp:237
0 60 3 :

['tsk_error_set_errstr', 'tsk_error_reset', 'tsk_error_set_errno']

0 60 tsk_img_read call site: 00059 /src/sleuthkit/tsk/img/img_io.cpp:338
0 60 3 :

['tsk_error_set_errstr', 'tsk_error_reset', 'tsk_error_set_errno']

0 60 tsk_vs_read_block call site: 00043 /src/sleuthkit/tsk/vs/mm_io.c:34
0 60 3 :

['tsk_error_set_errstr', 'tsk_error_reset', 'tsk_error_set_errno']

0 60 tsk_vs_part_walk call site: 00772 /src/sleuthkit/tsk/vs/mm_part.c:256
0 60 3 :

['tsk_error_set_errstr', 'tsk_error_reset', 'tsk_error_set_errno']

0 60 tsk_vs_sun_open call site: 00629 /src/sleuthkit/tsk/vs/sun.c:359
0 5 1 :

['sun_close']

0 5 tsk_vs_sun_open call site: 00677 /src/sleuthkit/tsk/vs/sun.c:392
0 0 None 5 25 tsk_img_read_legacy call site: 00000 /src/sleuthkit/tsk/img/img_io.cpp:160
0 0 None 5 21 tsk_img_read_legacy call site: 00000 /src/sleuthkit/tsk/img/img_io.cpp:128
0 0 None 0 593 sun_load_table call site: 00637 /src/sleuthkit/tsk/vs/sun.c:241
0 0 None 0 300 sun_load_table call site: 00654 /src/sleuthkit/tsk/vs/sun.c:295
0 0 None 0 148 sun_load_table_sparc call site: 00645 /src/sleuthkit/tsk/vs/sun.c:156

Runtime coverage analysis

Covered functions
40
Functions that are reachable but not covered
56
Reachable functions
87
Percentage of reachable functions covered
35.63%
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
/src/sleuthkit/ossfuzz/mmls_fuzzer.cc 1
/src/sleuthkit/ossfuzz/mem_img.h 1
/src/sleuthkit/tsk/img/legacy_cache.cpp 2
/src/sleuthkit/tsk/base/tsk_lock.c 2
/src/sleuthkit/tsk/vs/mm_open.c 1
/src/sleuthkit/tsk/base/tsk_error.c 10
/src/sleuthkit/tsk/vs/dos.c 5
/src/sleuthkit/tsk/base/mymalloc.c 1
/src/sleuthkit/tsk/base/tsk_printf.c 1
/src/sleuthkit/tsk/vs/mm_io.c 1
/src/sleuthkit/tsk/img/img_io.cpp 1
/src/sleuthkit/tsk/base/tsk_endian.c 3
/src/sleuthkit/tsk/vs/mm_part.c 4
/src/sleuthkit/tsk/vs/bsd.c 4
/src/sleuthkit/tsk/vs/gpt.c 5
/src/sleuthkit/tsk/base/tsk_unicode.c 1
/src/sleuthkit/tsk/vs/sun.c 6
/src/sleuthkit/tsk/vs/mac.c 3
/src/sleuthkit/tsk/util/detect_encryption.c 8
/src/sleuthkit/tsk/img/img_open.cpp 1

Fuzzer: mmls_gpt_fuzzer

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 782 100.%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 0 0.0%
All colors 782 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
781 0 EP call site: 00000 tsk_vs_open

Runtime coverage analysis

Covered functions
0
Functions that are reachable but not covered
87
Reachable functions
87
Percentage of reachable functions covered
0.0%
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
/src/sleuthkit/ossfuzz/mmls_fuzzer.cc 1
/src/sleuthkit/ossfuzz/mem_img.h 1
/src/sleuthkit/tsk/img/legacy_cache.cpp 2
/src/sleuthkit/tsk/base/tsk_lock.c 2
/src/sleuthkit/tsk/vs/mm_open.c 1
/src/sleuthkit/tsk/base/tsk_error.c 10
/src/sleuthkit/tsk/vs/dos.c 5
/src/sleuthkit/tsk/base/mymalloc.c 1
/src/sleuthkit/tsk/base/tsk_printf.c 1
/src/sleuthkit/tsk/vs/mm_io.c 1
/src/sleuthkit/tsk/img/img_io.cpp 1
/src/sleuthkit/tsk/base/tsk_endian.c 3
/src/sleuthkit/tsk/vs/mm_part.c 4
/src/sleuthkit/tsk/vs/bsd.c 4
/src/sleuthkit/tsk/vs/gpt.c 5
/src/sleuthkit/tsk/base/tsk_unicode.c 1
/src/sleuthkit/tsk/vs/sun.c 6
/src/sleuthkit/tsk/vs/mac.c 3
/src/sleuthkit/tsk/util/detect_encryption.c 8
/src/sleuthkit/tsk/img/img_open.cpp 1

Fuzzer: mmls_dos_fuzzer

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 782 100.%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 0 0.0%
All colors 782 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
781 0 EP call site: 00000 tsk_vs_open

Runtime coverage analysis

Covered functions
0
Functions that are reachable but not covered
87
Reachable functions
87
Percentage of reachable functions covered
0.0%
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
/src/sleuthkit/ossfuzz/mmls_fuzzer.cc 1
/src/sleuthkit/ossfuzz/mem_img.h 1
/src/sleuthkit/tsk/img/legacy_cache.cpp 2
/src/sleuthkit/tsk/base/tsk_lock.c 2
/src/sleuthkit/tsk/vs/mm_open.c 1
/src/sleuthkit/tsk/base/tsk_error.c 10
/src/sleuthkit/tsk/vs/dos.c 5
/src/sleuthkit/tsk/base/mymalloc.c 1
/src/sleuthkit/tsk/base/tsk_printf.c 1
/src/sleuthkit/tsk/vs/mm_io.c 1
/src/sleuthkit/tsk/img/img_io.cpp 1
/src/sleuthkit/tsk/base/tsk_endian.c 3
/src/sleuthkit/tsk/vs/mm_part.c 4
/src/sleuthkit/tsk/vs/bsd.c 4
/src/sleuthkit/tsk/vs/gpt.c 5
/src/sleuthkit/tsk/base/tsk_unicode.c 1
/src/sleuthkit/tsk/vs/sun.c 6
/src/sleuthkit/tsk/vs/mac.c 3
/src/sleuthkit/tsk/util/detect_encryption.c 8
/src/sleuthkit/tsk/img/img_open.cpp 1

Fuzzer: fls_btrfs_fuzzer

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 1883 96.6%
gold [1:9] 3 0.15%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 63 3.23%
All colors 1949 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
226 226 6 :

['tsk_error_get_errstr', 'detectVolumeEncryption', 'free', 'detectUnsupportedImageType', 'tsk_error_get_errno', 'strncpy']

226 564 tsk_fs_open_img_decrypt call site: 00028 /src/sleuthkit/tsk/fs/fs_open.c:176
106 141 3 :

['tsk_fs_read_block_decrypt', 'free', 'tsk_malloc']

106 141 tsk_fs_read_decrypt call site: 00147 /src/sleuthkit/tsk/fs/fs_io.c:130
28 28 1 :

['logical_fs_open']

28 88 tsk_fs_open_img_decrypt call site: 00022 /src/sleuthkit/tsk/fs/fs_open.c:162
5 5 1 :

['img_read_no_cache(TSK_IMG_INFO*, long, char*, unsigned long)']

5 19 tsk_img_read_legacy call site: 00000 /src/sleuthkit/tsk/img/img_io.cpp:237
3 3 1 :

['tsk_list_free']

44 54 tsk_fs_free call site: 00522 /src/sleuthkit/tsk/fs/fs_open.c:360
0 81 3 :

['tsk_error_set_errstr', 'tsk_error_reset', 'tsk_error_set_errno']

0 81 tsk_fs_read_decrypt call site: 00143 /src/sleuthkit/tsk/fs/fs_io.c:112
0 60 3 :

['tsk_error_set_errstr', 'tsk_error_reset', 'tsk_error_set_errno']

0 60 tsk_img_read call site: 00068 /src/sleuthkit/tsk/img/img_io.cpp:338
0 0 None 795 1061 btrfs_open call site: 01272 /src/sleuthkit/tsk/fs/btrfs.cpp:4901
0 0 None 795 1011 btrfs_open call site: 01279 /src/sleuthkit/tsk/fs/btrfs.cpp:4916
0 0 None 795 835 btrfs_open call site: 01280 /src/sleuthkit/tsk/fs/btrfs.cpp:4961
0 0 None 5 25 tsk_img_read_legacy call site: 00000 /src/sleuthkit/tsk/img/img_io.cpp:157
0 0 None 5 21 tsk_img_read_legacy call site: 00000 /src/sleuthkit/tsk/img/img_io.cpp:128

Runtime coverage analysis

Covered functions
54
Functions that are reachable but not covered
620
Reachable functions
675
Percentage of reachable functions covered
8.15%
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
/src/sleuthkit/ossfuzz/fls_fuzzer.cc 1
/src/sleuthkit/ossfuzz/mem_img.h 1
/src/sleuthkit/tsk/img/legacy_cache.cpp 3
/src/sleuthkit/tsk/base/tsk_lock.c 4
/src/sleuthkit/tsk/fs/fs_open.c 4
/src/sleuthkit/tsk/base/tsk_error.c 13
/src/sleuthkit/tsk/fs/logical_fs.cpp 9
/src/sleuthkit/tsk/base/tsk_printf.c 1
/src/sleuthkit/tsk/img/unsupported_types.cpp 4
/src/sleuthkit/tsk/base/mymalloc.c 2
/src/sleuthkit/tsk/img/img_io.cpp 1
/src/sleuthkit/tsk/util/detect_encryption.c 6
/src/sleuthkit/tsk/fs/ntfs.cpp 9
/src/sleuthkit/tsk/fs/encryptionHelper.cpp 2
/src/sleuthkit/tsk/fs/fs_io.c 5
/src/sleuthkit/tsk/base/tsk_endian.c 2
/src/sleuthkit/tsk/fs/fs_file.cpp 7
/src/sleuthkit/tsk/fs/fs_name.cpp 4
/src/sleuthkit/tsk/fs/fs_inode.c 2
/src/sleuthkit/tsk/fs/fs_attrlist.c 5
/src/sleuthkit/tsk/fs/fs_attr.cpp 4
/src/sleuthkit/tsk/img/logical_img.cpp 1
/src/sleuthkit/tsk/fs/ntfs_dent.cpp 2
/src/sleuthkit/tsk/base/tsk_list.c 3
/src/sleuthkit/tsk/fs/fs_dir.cpp 12
/src/sleuthkit/tsk/fs/fatfs.cpp 1
/src/sleuthkit/tsk/fs/fatxxfs.cpp 1
/src/sleuthkit/tsk/fs/exfatfs.cpp 9
/src/sleuthkit/tsk/fs/fatfs_utils.c 1
/src/sleuthkit/tsk/fs/exfatfs_meta.cpp 3
/src/sleuthkit/tsk/fs/ffs.cpp 1
/src/sleuthkit/tsk/fs/ext2fs.cpp 1
/src/sleuthkit/tsk/fs/hfs.cpp 7
/src/sleuthkit/tsk/fs/ifind_lib.cpp 1
/src/sleuthkit/tsk/fs/iso9660.cpp 8
/src/sleuthkit/tsk/base/tsk_unicode.c 1
/src/sleuthkit/tsk/fs/rawfs.c 1
/src/sleuthkit/tsk/fs/swapfs.c 1
/src/sleuthkit/tsk/fs/yaffs.cpp 18
/src/sleuthkit/tsk/fs/btrfs.cpp 43
/src/sleuthkit/tsk/fs/btrfs_csum.cpp 1
/src/sleuthkit/tsk/base/crc.c 6
/src/sleuthkit/tsk/fs/tsk_btrfs.h 2
/src/sleuthkit/tsk/fs/apfs_open.cpp 1
/src/sleuthkit/tsk/fs/apfs_compat.cpp 15
/src/sleuthkit/tsk/fs/apfs.cpp 27
/src/sleuthkit/tsk/fs/tsk_apfs.hpp 57
/src/sleuthkit/tsk/pool/apfs_pool.cpp 2
/src/sleuthkit/./tsk/pool/tsk_apfs.hpp 7
/src/sleuthkit/./tsk/fs/tsk_apfs.hpp 1
/src/sleuthkit/tsk/auto/guid.cpp 3
/src/sleuthkit/./tsk/auto/guid.h 3
/src/sleuthkit/./tsk/util/span.hpp 4
/src/sleuthkit/tsk/fs/apfs_fs.cpp 3
/src/sleuthkit/./tsk/pool/tsk_pool.hpp 5
/src/sleuthkit/./tsk/util/lw_shared_ptr.hpp 13
/src/sleuthkit/tsk/fs/apfs_fs.hpp 2
/src/sleuthkit/tsk/fs/apfs_compat.hpp 3
/src/sleuthkit/tsk/fs/xfs.cpp 1
/src/sleuthkit/tsk/fs/fls_lib.cpp 3
/src/sleuthkit/tsk/base/tsk_stack.c 5
/src/sleuthkit/tsk/img/img_open.cpp 1

Fuzzer: fls_ntfs_fuzzer

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 1949 100.%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 0 0.0%
All colors 1949 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
0 0 None 0 0 hexDigitToChar(char) call site: 00000 /src/sleuthkit/tsk/auto/guid.cpp:89

Runtime coverage analysis

Covered functions
3
Functions that are reachable but not covered
673
Reachable functions
675
Percentage of reachable functions covered
0.3%
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
/src/sleuthkit/ossfuzz/fls_fuzzer.cc 1
/src/sleuthkit/ossfuzz/mem_img.h 1
/src/sleuthkit/tsk/img/legacy_cache.cpp 3
/src/sleuthkit/tsk/base/tsk_lock.c 4
/src/sleuthkit/tsk/fs/fs_open.c 4
/src/sleuthkit/tsk/base/tsk_error.c 13
/src/sleuthkit/tsk/fs/logical_fs.cpp 9
/src/sleuthkit/tsk/base/tsk_printf.c 1
/src/sleuthkit/tsk/img/unsupported_types.cpp 4
/src/sleuthkit/tsk/base/mymalloc.c 2
/src/sleuthkit/tsk/img/img_io.cpp 1
/src/sleuthkit/tsk/util/detect_encryption.c 6
/src/sleuthkit/tsk/fs/ntfs.cpp 9
/src/sleuthkit/tsk/fs/encryptionHelper.cpp 2
/src/sleuthkit/tsk/fs/fs_io.c 5
/src/sleuthkit/tsk/base/tsk_endian.c 2
/src/sleuthkit/tsk/fs/fs_file.cpp 7
/src/sleuthkit/tsk/fs/fs_name.cpp 4
/src/sleuthkit/tsk/fs/fs_inode.c 2
/src/sleuthkit/tsk/fs/fs_attrlist.c 5
/src/sleuthkit/tsk/fs/fs_attr.cpp 4
/src/sleuthkit/tsk/img/logical_img.cpp 1
/src/sleuthkit/tsk/fs/ntfs_dent.cpp 2
/src/sleuthkit/tsk/base/tsk_list.c 3
/src/sleuthkit/tsk/fs/fs_dir.cpp 12
/src/sleuthkit/tsk/fs/fatfs.cpp 1
/src/sleuthkit/tsk/fs/fatxxfs.cpp 1
/src/sleuthkit/tsk/fs/exfatfs.cpp 9
/src/sleuthkit/tsk/fs/fatfs_utils.c 1
/src/sleuthkit/tsk/fs/exfatfs_meta.cpp 3
/src/sleuthkit/tsk/fs/ffs.cpp 1
/src/sleuthkit/tsk/fs/ext2fs.cpp 1
/src/sleuthkit/tsk/fs/hfs.cpp 7
/src/sleuthkit/tsk/fs/ifind_lib.cpp 1
/src/sleuthkit/tsk/fs/iso9660.cpp 8
/src/sleuthkit/tsk/base/tsk_unicode.c 1
/src/sleuthkit/tsk/fs/rawfs.c 1
/src/sleuthkit/tsk/fs/swapfs.c 1
/src/sleuthkit/tsk/fs/yaffs.cpp 18
/src/sleuthkit/tsk/fs/btrfs.cpp 43
/src/sleuthkit/tsk/fs/btrfs_csum.cpp 1
/src/sleuthkit/tsk/base/crc.c 6
/src/sleuthkit/tsk/fs/tsk_btrfs.h 2
/src/sleuthkit/tsk/fs/apfs_open.cpp 1
/src/sleuthkit/tsk/fs/apfs_compat.cpp 15
/src/sleuthkit/tsk/fs/apfs.cpp 27
/src/sleuthkit/tsk/fs/tsk_apfs.hpp 57
/src/sleuthkit/tsk/pool/apfs_pool.cpp 2
/src/sleuthkit/./tsk/pool/tsk_apfs.hpp 7
/src/sleuthkit/./tsk/fs/tsk_apfs.hpp 1
/src/sleuthkit/tsk/auto/guid.cpp 3
/src/sleuthkit/./tsk/auto/guid.h 3
/src/sleuthkit/./tsk/util/span.hpp 4
/src/sleuthkit/tsk/fs/apfs_fs.cpp 3
/src/sleuthkit/./tsk/pool/tsk_pool.hpp 5
/src/sleuthkit/./tsk/util/lw_shared_ptr.hpp 13
/src/sleuthkit/tsk/fs/apfs_fs.hpp 2
/src/sleuthkit/tsk/fs/apfs_compat.hpp 3
/src/sleuthkit/tsk/fs/xfs.cpp 1
/src/sleuthkit/tsk/fs/fls_lib.cpp 3
/src/sleuthkit/tsk/base/tsk_stack.c 5
/src/sleuthkit/tsk/img/img_open.cpp 1

Fuzzer: fls_fat_fuzzer

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 1949 100.%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 0 0.0%
All colors 1949 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
0 0 None 0 0 hexDigitToChar(char) call site: 00000 /src/sleuthkit/tsk/auto/guid.cpp:89

Runtime coverage analysis

Covered functions
3
Functions that are reachable but not covered
673
Reachable functions
675
Percentage of reachable functions covered
0.3%
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
/src/sleuthkit/ossfuzz/fls_fuzzer.cc 1
/src/sleuthkit/ossfuzz/mem_img.h 1
/src/sleuthkit/tsk/img/legacy_cache.cpp 3
/src/sleuthkit/tsk/base/tsk_lock.c 4
/src/sleuthkit/tsk/fs/fs_open.c 4
/src/sleuthkit/tsk/base/tsk_error.c 13
/src/sleuthkit/tsk/fs/logical_fs.cpp 9
/src/sleuthkit/tsk/base/tsk_printf.c 1
/src/sleuthkit/tsk/img/unsupported_types.cpp 4
/src/sleuthkit/tsk/base/mymalloc.c 2
/src/sleuthkit/tsk/img/img_io.cpp 1
/src/sleuthkit/tsk/util/detect_encryption.c 6
/src/sleuthkit/tsk/fs/ntfs.cpp 9
/src/sleuthkit/tsk/fs/encryptionHelper.cpp 2
/src/sleuthkit/tsk/fs/fs_io.c 5
/src/sleuthkit/tsk/base/tsk_endian.c 2
/src/sleuthkit/tsk/fs/fs_file.cpp 7
/src/sleuthkit/tsk/fs/fs_name.cpp 4
/src/sleuthkit/tsk/fs/fs_inode.c 2
/src/sleuthkit/tsk/fs/fs_attrlist.c 5
/src/sleuthkit/tsk/fs/fs_attr.cpp 4
/src/sleuthkit/tsk/img/logical_img.cpp 1
/src/sleuthkit/tsk/fs/ntfs_dent.cpp 2
/src/sleuthkit/tsk/base/tsk_list.c 3
/src/sleuthkit/tsk/fs/fs_dir.cpp 12
/src/sleuthkit/tsk/fs/fatfs.cpp 1
/src/sleuthkit/tsk/fs/fatxxfs.cpp 1
/src/sleuthkit/tsk/fs/exfatfs.cpp 9
/src/sleuthkit/tsk/fs/fatfs_utils.c 1
/src/sleuthkit/tsk/fs/exfatfs_meta.cpp 3
/src/sleuthkit/tsk/fs/ffs.cpp 1
/src/sleuthkit/tsk/fs/ext2fs.cpp 1
/src/sleuthkit/tsk/fs/hfs.cpp 7
/src/sleuthkit/tsk/fs/ifind_lib.cpp 1
/src/sleuthkit/tsk/fs/iso9660.cpp 8
/src/sleuthkit/tsk/base/tsk_unicode.c 1
/src/sleuthkit/tsk/fs/rawfs.c 1
/src/sleuthkit/tsk/fs/swapfs.c 1
/src/sleuthkit/tsk/fs/yaffs.cpp 18
/src/sleuthkit/tsk/fs/btrfs.cpp 43
/src/sleuthkit/tsk/fs/btrfs_csum.cpp 1
/src/sleuthkit/tsk/base/crc.c 6
/src/sleuthkit/tsk/fs/tsk_btrfs.h 2
/src/sleuthkit/tsk/fs/apfs_open.cpp 1
/src/sleuthkit/tsk/fs/apfs_compat.cpp 15
/src/sleuthkit/tsk/fs/apfs.cpp 27
/src/sleuthkit/tsk/fs/tsk_apfs.hpp 57
/src/sleuthkit/tsk/pool/apfs_pool.cpp 2
/src/sleuthkit/./tsk/pool/tsk_apfs.hpp 7
/src/sleuthkit/./tsk/fs/tsk_apfs.hpp 1
/src/sleuthkit/tsk/auto/guid.cpp 3
/src/sleuthkit/./tsk/auto/guid.h 3
/src/sleuthkit/./tsk/util/span.hpp 4
/src/sleuthkit/tsk/fs/apfs_fs.cpp 3
/src/sleuthkit/./tsk/pool/tsk_pool.hpp 5
/src/sleuthkit/./tsk/util/lw_shared_ptr.hpp 13
/src/sleuthkit/tsk/fs/apfs_fs.hpp 2
/src/sleuthkit/tsk/fs/apfs_compat.hpp 3
/src/sleuthkit/tsk/fs/xfs.cpp 1
/src/sleuthkit/tsk/fs/fls_lib.cpp 3
/src/sleuthkit/tsk/base/tsk_stack.c 5
/src/sleuthkit/tsk/img/img_open.cpp 1

Fuzzer: fls_apfs_fuzzer

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 1734 84.4%
gold [1:9] 170 8.28%
yellow [10:29] 51 2.48%
greenyellow [30:49] 48 2.33%
lawngreen 50+ 50 2.43%
All colors 2053 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
226 226 6 :

['tsk_error_get_errstr', 'detectVolumeEncryption', 'free', 'detectUnsupportedImageType', 'tsk_error_get_errno', 'strncpy']

226 564 tsk_fs_open_img_decrypt call site: 00284 /src/sleuthkit/tsk/fs/fs_open.c:176
169 989 7 :

['APFSBtreeNodeIterator ::~APFSBtreeNodeIterator()', 'APFSBtreeNodeIterator ::APFSBtreeNodeIterator(APFSJObjBtreeNode const*, unsigned int, APFSBtreeNodeIterator &&)', 'lw_shared_ptr ::operator->() const', 'APFSBtreeNodeIterator ::APFSBtreeNodeIterator(APFSJObjBtreeNode const*, unsigned int, int)', 'APFSBtreeNodeIterator ::operator==(APFSBtreeNodeIterator const&) const', 'std::__1::unique_ptr , std::__1::default_delete > >::operator->[abi:ne180100]() const', 'APFSBtreeNodeIterator APFSJObjBtreeNode::find (unsigned long const&, APFSJObjTree::jobjs(unsigned long) const::{lambda(auto:1 const&, auto:2 const&)#1}) const']

169 1687 APFSBtreeNodeIterator APFSJObjBtreeNode::find (unsignedlongconst&,APFSJObjTree::jobjs(unsignedlong)const::{lambda(auto:1const&,auto:2const&)#1})const call site: 00000 /src/sleuthkit/tsk/fs/tsk_apfs.hpp:669
150 153 15 :

['std::__1::vector >::end[abi:ne180100]() const', 'std::__1::vector >::begin[abi:ne180100]() const', 'tsk_fs_name_free', 'std::__1::basic_string , std::__1::allocator >::length[abi:ne180100]() const', 'unsigned short bitfield_value (unsigned short, int, int)', 'std::__1::__wrap_iter ::operator++[abi:ne180100]()', 'APFSJObject::children() const', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::c_str[abi:ne180100]() const', 'APFSJObject::valid() const', 'tsk_fs_dir_add', 'tsk_fs_name_alloc', 'strncpy', 'to_name_type(APFS_ITEM_TYPE)', 'bool std::__1::operator!=[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)']

158 281 APFSFSCompat::dir_open_meta(TSK_FS_DIR**,unsignedlong,int)const call site: 00000 /src/sleuthkit/tsk/fs/apfs_compat.cpp:512
149 385 6 :

['APFSBtreeNodeIterator >::~APFSBtreeNodeIterator()', 'lw_shared_ptr >::operator->() const', 'APFSBtreeNodeIterator >::APFSBtreeNodeIterator(APFSBtreeNode const*, unsigned int, APFSBtreeNodeIterator >&&)', 'APFSBtreeNodeIterator > APFSBtreeNode ::find (unsigned long const&, APFSObjectBtreeNode::find(unsigned long) const::$_0) const', 'APFSBtreeNodeIterator >::operator==(APFSBtreeNodeIterator > const&) const', 'std::__1::unique_ptr >, std::__1::default_delete > > >::operator->[abi:ne180100]() const']

149 1056 APFSBtreeNodeIterator >APFSBtreeNode ::find (unsignedlongconst&,APFSObjectBtreeNode::find(unsignedlong)const::$_0)const call site: 00000 /src/sleuthkit/tsk/fs/tsk_apfs.hpp:526
34 34 1 :

['tsk_fs_dir_reset']

192 464 APFSFSCompat::dir_open_meta(TSK_FS_DIR**,unsignedlong,int)const call site: 00000 /src/sleuthkit/tsk/fs/apfs_compat.cpp:500
28 28 1 :

['logical_fs_open']

28 88 tsk_fs_open_img_decrypt call site: 00280 /src/sleuthkit/tsk/fs/fs_open.c:162
18 18 1 :

['save_inum_named(TSK_FS_INFO*, DENT_DINFO*)']

18 20 tsk_fs_dir_walk_internal call site: 02002 /src/sleuthkit/tsk/fs/fs_dir.cpp:1014
17 17 2 :

['tsk_fs_name_free', 'tsk_fs_file_reset(TSK_FS_FILE*)']

17 46 tsk_fs_file_open_meta call site: 00445 /src/sleuthkit/tsk/fs/fs_file.cpp:117
11 11 1 :

['tsk_fs_attrlist_free']

11 11 tsk_fs_meta_close call site: 00453 /src/sleuthkit/tsk/fs/fs_inode.c:119
10 10 6 :

['__cxa_allocate_exception', 'std::__1::unique_ptr >::~unique_ptr[abi:ne180100]()', '__cxa_free_exception', '__cxa_throw', 'std::runtime_error::runtime_error(char const*)', 'APFSObject::~APFSObject()']

10 10 APFSSuperblock::APFSSuperblock(APFSPoolconst&,unsignedlong) call site: 00000 /src/sleuthkit/tsk/fs/apfs.cpp:217
10 10 5 :

['APFSBtreeNode ::~APFSBtreeNode()', '__cxa_allocate_exception', '__cxa_free_exception', '__cxa_throw', 'std::runtime_error::runtime_error(char const*)']

10 10 APFSJObjBtreeNode::APFSJObjBtreeNode(APFSObjectBtreeNodeconst*,unsignedlong,unsignedcharconst*) call site: 00000 /src/sleuthkit/tsk/fs/apfs.cpp:650
10 10 5 :

['__cxa_allocate_exception', '__cxa_free_exception', '__cxa_throw', 'std::runtime_error::runtime_error(char const*)', 'APFSBtreeNode ::~APFSBtreeNode()']

10 10 APFSObjectBtreeNode::APFSObjectBtreeNode(APFSPoolconst&,unsignedlong) call site: 00000 /src/sleuthkit/tsk/fs/apfs.cpp:671

Runtime coverage analysis

Covered functions
216
Functions that are reachable but not covered
479
Reachable functions
736
Percentage of reachable functions covered
34.92%
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
/src/sleuthkit/ossfuzz/fls_apfs_fuzzer.cc 1
/src/sleuthkit/ossfuzz/mem_img.h 1
/src/sleuthkit/tsk/img/legacy_cache.cpp 3
/src/sleuthkit/tsk/base/tsk_lock.c 4
/src/sleuthkit/tsk/pool/pool_open.cpp 2
/src/sleuthkit/tsk/pool/apfs_pool_compat.hpp 1
/src/sleuthkit/tsk/pool/pool_compat.hpp 6
/src/sleuthkit/tsk/pool/apfs_pool.cpp 5
/src/sleuthkit/tsk/pool/tsk_pool.hpp 7
/src/sleuthkit/tsk/auto/guid.cpp 4
/src/sleuthkit/tsk/fs/apfs.cpp 28
/src/sleuthkit/./tsk/fs/tsk_apfs.hpp 45
/src/sleuthkit/./tsk/auto/guid.h 4
/src/sleuthkit/tsk/img/img_io.cpp 1
/src/sleuthkit/tsk/base/tsk_error.c 13
/src/sleuthkit/tsk/pool/tsk_apfs.hpp 7
/src/sleuthkit/tsk/base/tsk_printf.c 1
/src/sleuthkit/tsk/fs/tsk_apfs.hpp 25
/src/sleuthkit/./tsk/util/lw_shared_ptr.hpp 13
/src/sleuthkit/tsk/pool/apfs_pool_compat.cpp 1
/src/sleuthkit/tsk/img/img_open.cpp 1
/src/sleuthkit/tsk/fs/fs_open.c 3
/src/sleuthkit/tsk/fs/logical_fs.cpp 9
/src/sleuthkit/tsk/img/unsupported_types.cpp 4
/src/sleuthkit/tsk/base/mymalloc.c 2
/src/sleuthkit/tsk/util/detect_encryption.c 6
/src/sleuthkit/tsk/fs/ntfs.cpp 9
/src/sleuthkit/tsk/fs/encryptionHelper.cpp 2
/src/sleuthkit/tsk/fs/fs_io.c 5
/src/sleuthkit/tsk/base/tsk_endian.c 2
/src/sleuthkit/tsk/fs/fs_file.cpp 7
/src/sleuthkit/tsk/fs/fs_name.cpp 4
/src/sleuthkit/tsk/fs/fs_inode.c 2
/src/sleuthkit/tsk/fs/fs_attrlist.c 5
/src/sleuthkit/tsk/fs/fs_attr.cpp 4
/src/sleuthkit/tsk/img/logical_img.cpp 1
/src/sleuthkit/tsk/fs/ntfs_dent.cpp 2
/src/sleuthkit/tsk/base/tsk_list.c 3
/src/sleuthkit/tsk/fs/fs_dir.cpp 12
/src/sleuthkit/tsk/fs/fatfs.cpp 1
/src/sleuthkit/tsk/fs/fatxxfs.cpp 1
/src/sleuthkit/tsk/fs/exfatfs.cpp 9
/src/sleuthkit/tsk/fs/fatfs_utils.c 1
/src/sleuthkit/tsk/fs/exfatfs_meta.cpp 3
/src/sleuthkit/tsk/fs/ffs.cpp 1
/src/sleuthkit/tsk/fs/ext2fs.cpp 1
/src/sleuthkit/tsk/fs/hfs.cpp 7
/src/sleuthkit/tsk/fs/ifind_lib.cpp 1
/src/sleuthkit/tsk/fs/iso9660.cpp 8
/src/sleuthkit/tsk/base/tsk_unicode.c 1
/src/sleuthkit/tsk/fs/rawfs.c 1
/src/sleuthkit/tsk/fs/swapfs.c 1
/src/sleuthkit/tsk/fs/yaffs.cpp 18
/src/sleuthkit/tsk/fs/btrfs.cpp 43
/src/sleuthkit/tsk/fs/btrfs_csum.cpp 1
/src/sleuthkit/tsk/base/crc.c 6
/src/sleuthkit/tsk/fs/tsk_btrfs.h 2
/src/sleuthkit/tsk/fs/apfs_open.cpp 1
/src/sleuthkit/tsk/fs/apfs_compat.cpp 15
/src/sleuthkit/./tsk/pool/tsk_apfs.hpp 1
/src/sleuthkit/./tsk/util/span.hpp 4
/src/sleuthkit/tsk/fs/apfs_fs.cpp 3
/src/sleuthkit/./tsk/fs/apfs_fs.hpp 2
/src/sleuthkit/tsk/fs/apfs_compat.hpp 3
/src/sleuthkit/./tsk/pool/tsk_pool.hpp 2
/src/sleuthkit/tsk/fs/xfs.cpp 1
/src/sleuthkit/tsk/fs/fls_lib.cpp 3
/src/sleuthkit/tsk/base/tsk_stack.c 5

Fuzzer: fls_ext_fuzzer

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 1768 90.7%
gold [1:9] 19 0.97%
yellow [10:29] 2 0.10%
greenyellow [30:49] 6 0.30%
lawngreen 50+ 154 7.90%
All colors 1949 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
188 226 6 :

['tsk_error_get_errstr', 'detectVolumeEncryption', 'free', 'detectUnsupportedImageType', 'tsk_error_get_errno', 'strncpy']

188 564 tsk_fs_open_img_decrypt call site: 00028 /src/sleuthkit/tsk/fs/fs_open.c:176
140 140 1 :

['logicalfs_read']

140 140 tsk_fs_attr_read call site: 00380 /src/sleuthkit/tsk/fs/fs_attr.cpp:1134
42 42 1 :

['fs_prepost_read']

42 42 tsk_fs_read_block_decrypt call site: 00155 /src/sleuthkit/tsk/fs/fs_io.c:249
40 40 1 :

['tsk_fs_meta_realloc']

40 588 ext2fs_dinode_copy(EXT2FS_INFO*,TSK_FS_FILE*,unsignedlong,ext2fs_inodeconst*,unsignedcharconst*,unsignedlong) call site: 00000 /src/sleuthkit/tsk/fs/ext2fs.cpp:853
34 34 1 :

['tsk_fs_dir_reset']

34 1218 ext2fs_dir_open_meta call site: 00000 /src/sleuthkit/tsk/fs/ext2fs_dent.cpp:290
28 28 1 :

['logical_fs_open']

28 88 tsk_fs_open_img_decrypt call site: 00022 /src/sleuthkit/tsk/fs/fs_open.c:162
13 17 2 :

['tsk_fs_name_free', 'tsk_fs_file_reset(TSK_FS_FILE*)']

13 46 tsk_fs_file_open_meta call site: 00205 /src/sleuthkit/tsk/fs/fs_file.cpp:117
7 7 1 :

['ext2fs_print_map(unsigned char*, int)']

7 7 ext2fs_imap_load(EXT2FS_INFO*,unsignedlong) call site: 00000 /src/sleuthkit/tsk/fs/ext2fs.cpp:451
6 41 3 :

['strncpy', 'strlen', 'tsk_realloc']

6 41 tsk_fs_name_copy call site: 00942 /src/sleuthkit/tsk/fs/fs_name.cpp:184
6 6 1 :

['tsk_fs_meta_reset']

6 598 ext2fs_inode_lookup(TSK_FS_INFO*,TSK_FS_FILE*,unsignedlong) call site: 00000 /src/sleuthkit/tsk/fs/ext2fs.cpp:1047
5 5 1 :

['dump_attr(TSK_FS_ATTR*)']

5 5 tsk_fs_attr_add_run call site: 00000 /src/sleuthkit/tsk/fs/fs_attr.cpp:553
5 5 1 :

['dump_attr(TSK_FS_ATTR*)']

5 5 tsk_fs_attr_add_run call site: 00000 /src/sleuthkit/tsk/fs/fs_attr.cpp:662

Runtime coverage analysis

Covered functions
125
Functions that are reachable but not covered
600
Reachable functions
675
Percentage of reachable functions covered
11.11%
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
/src/sleuthkit/ossfuzz/fls_fuzzer.cc 1
/src/sleuthkit/ossfuzz/mem_img.h 1
/src/sleuthkit/tsk/img/legacy_cache.cpp 3
/src/sleuthkit/tsk/base/tsk_lock.c 4
/src/sleuthkit/tsk/fs/fs_open.c 4
/src/sleuthkit/tsk/base/tsk_error.c 13
/src/sleuthkit/tsk/fs/logical_fs.cpp 9
/src/sleuthkit/tsk/base/tsk_printf.c 1
/src/sleuthkit/tsk/img/unsupported_types.cpp 4
/src/sleuthkit/tsk/base/mymalloc.c 2
/src/sleuthkit/tsk/img/img_io.cpp 1
/src/sleuthkit/tsk/util/detect_encryption.c 6
/src/sleuthkit/tsk/fs/ntfs.cpp 9
/src/sleuthkit/tsk/fs/encryptionHelper.cpp 2
/src/sleuthkit/tsk/fs/fs_io.c 5
/src/sleuthkit/tsk/base/tsk_endian.c 2
/src/sleuthkit/tsk/fs/fs_file.cpp 7
/src/sleuthkit/tsk/fs/fs_name.cpp 4
/src/sleuthkit/tsk/fs/fs_inode.c 2
/src/sleuthkit/tsk/fs/fs_attrlist.c 5
/src/sleuthkit/tsk/fs/fs_attr.cpp 4
/src/sleuthkit/tsk/img/logical_img.cpp 1
/src/sleuthkit/tsk/fs/ntfs_dent.cpp 2
/src/sleuthkit/tsk/base/tsk_list.c 3
/src/sleuthkit/tsk/fs/fs_dir.cpp 12
/src/sleuthkit/tsk/fs/fatfs.cpp 1
/src/sleuthkit/tsk/fs/fatxxfs.cpp 1
/src/sleuthkit/tsk/fs/exfatfs.cpp 9
/src/sleuthkit/tsk/fs/fatfs_utils.c 1
/src/sleuthkit/tsk/fs/exfatfs_meta.cpp 3
/src/sleuthkit/tsk/fs/ffs.cpp 1
/src/sleuthkit/tsk/fs/ext2fs.cpp 1
/src/sleuthkit/tsk/fs/hfs.cpp 7
/src/sleuthkit/tsk/fs/ifind_lib.cpp 1
/src/sleuthkit/tsk/fs/iso9660.cpp 8
/src/sleuthkit/tsk/base/tsk_unicode.c 1
/src/sleuthkit/tsk/fs/rawfs.c 1
/src/sleuthkit/tsk/fs/swapfs.c 1
/src/sleuthkit/tsk/fs/yaffs.cpp 18
/src/sleuthkit/tsk/fs/btrfs.cpp 43
/src/sleuthkit/tsk/fs/btrfs_csum.cpp 1
/src/sleuthkit/tsk/base/crc.c 6
/src/sleuthkit/tsk/fs/tsk_btrfs.h 2
/src/sleuthkit/tsk/fs/apfs_open.cpp 1
/src/sleuthkit/tsk/fs/apfs_compat.cpp 15
/src/sleuthkit/tsk/fs/apfs.cpp 27
/src/sleuthkit/tsk/fs/tsk_apfs.hpp 57
/src/sleuthkit/tsk/pool/apfs_pool.cpp 2
/src/sleuthkit/./tsk/pool/tsk_apfs.hpp 7
/src/sleuthkit/./tsk/fs/tsk_apfs.hpp 1
/src/sleuthkit/tsk/auto/guid.cpp 3
/src/sleuthkit/./tsk/auto/guid.h 3
/src/sleuthkit/./tsk/util/span.hpp 4
/src/sleuthkit/tsk/fs/apfs_fs.cpp 3
/src/sleuthkit/./tsk/pool/tsk_pool.hpp 5
/src/sleuthkit/./tsk/util/lw_shared_ptr.hpp 13
/src/sleuthkit/tsk/fs/apfs_fs.hpp 2
/src/sleuthkit/tsk/fs/apfs_compat.hpp 3
/src/sleuthkit/tsk/fs/xfs.cpp 1
/src/sleuthkit/tsk/fs/fls_lib.cpp 3
/src/sleuthkit/tsk/base/tsk_stack.c 5
/src/sleuthkit/tsk/img/img_open.cpp 1

Fuzzer: fls_iso9660_fuzzer

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 1760 90.3%
gold [1:9] 12 0.61%
yellow [10:29] 12 0.61%
greenyellow [30:49] 4 0.20%
lawngreen 50+ 161 8.26%
All colors 1949 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
188 226 6 :

['tsk_error_get_errstr', 'detectVolumeEncryption', 'free', 'detectUnsupportedImageType', 'tsk_error_get_errno', 'strncpy']

188 564 tsk_fs_open_img_decrypt call site: 00028 /src/sleuthkit/tsk/fs/fs_open.c:176
140 140 1 :

['logicalfs_read']

140 140 tsk_fs_attr_read call site: 00380 /src/sleuthkit/tsk/fs/fs_attr.cpp:1134
106 141 3 :

['tsk_fs_read_block_decrypt', 'free', 'tsk_malloc']

106 141 tsk_fs_read_decrypt call site: 00147 /src/sleuthkit/tsk/fs/fs_io.c:130
40 40 1 :

['tsk_fs_meta_realloc']

52 52 iso9660_dinode_copy(ISO_INFO*,TSK_FS_META*,unsignedlong,iso9660_inode*) call site: 00000 /src/sleuthkit/tsk/fs/iso9660.cpp:1115
34 34 1 :

['tsk_fs_dir_reset']

34 1200 iso9660_dir_open_meta(TSK_FS_INFO*,TSK_FS_DIR**,unsignedlong,int) call site: 00000 /src/sleuthkit/tsk/fs/iso9660_dent.cpp:259
28 28 1 :

['logical_fs_open']

28 88 tsk_fs_open_img_decrypt call site: 00022 /src/sleuthkit/tsk/fs/fs_open.c:162
24 289 2 :

['tsk_fs_dir_load_inum_named', 'tsk_error_errstr2_concat']

44 615 iso9660_inode_walk(TSK_FS_INFO*,unsignedlong,unsignedlong,TSK_FS_META_FLAG_ENUM,TSK_WALK_RET_ENUM(*)(TSK_FS_FILE*,void*),void*) call site: 00000 /src/sleuthkit/tsk/fs/iso9660.cpp:1329
24 278 2 :

['tsk_fs_dir_walk_internal', 'tsk_error_errstr2_concat']

24 278 find_orphan_meta_walk_cb(TSK_FS_FILE*,void*) call site: 00000 /src/sleuthkit/tsk/fs/fs_dir.cpp:1314
24 24 1 :

['tsk_error_errstr2_concat']

24 24 tsk_fs_dir_load_inum_named call site: 00000 /src/sleuthkit/tsk/fs/fs_dir.cpp:1178
13 17 2 :

['tsk_fs_name_free', 'tsk_fs_file_reset(TSK_FS_FILE*)']

13 46 tsk_fs_file_open_meta call site: 00205 /src/sleuthkit/tsk/fs/fs_file.cpp:117
10 10 1 :

['tsk_fs_attrlist_markunused']

62 62 iso9660_dinode_copy(ISO_INFO*,TSK_FS_META*,unsignedlong,iso9660_inode*) call site: 00000 /src/sleuthkit/tsk/fs/iso9660.cpp:1111
10 10 1 :

['tsk_fs_attrlist_markunused']

12 12 tsk_fs_dir_make_orphan_dir_meta call site: 00000 /src/sleuthkit/tsk/fs/fs_dir.cpp:1102

Runtime coverage analysis

Covered functions
111
Functions that are reachable but not covered
587
Reachable functions
675
Percentage of reachable functions covered
13.04%
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
/src/sleuthkit/ossfuzz/fls_fuzzer.cc 1
/src/sleuthkit/ossfuzz/mem_img.h 1
/src/sleuthkit/tsk/img/legacy_cache.cpp 3
/src/sleuthkit/tsk/base/tsk_lock.c 4
/src/sleuthkit/tsk/fs/fs_open.c 4
/src/sleuthkit/tsk/base/tsk_error.c 13
/src/sleuthkit/tsk/fs/logical_fs.cpp 9
/src/sleuthkit/tsk/base/tsk_printf.c 1
/src/sleuthkit/tsk/img/unsupported_types.cpp 4
/src/sleuthkit/tsk/base/mymalloc.c 2
/src/sleuthkit/tsk/img/img_io.cpp 1
/src/sleuthkit/tsk/util/detect_encryption.c 6
/src/sleuthkit/tsk/fs/ntfs.cpp 9
/src/sleuthkit/tsk/fs/encryptionHelper.cpp 2
/src/sleuthkit/tsk/fs/fs_io.c 5
/src/sleuthkit/tsk/base/tsk_endian.c 2
/src/sleuthkit/tsk/fs/fs_file.cpp 7
/src/sleuthkit/tsk/fs/fs_name.cpp 4
/src/sleuthkit/tsk/fs/fs_inode.c 2
/src/sleuthkit/tsk/fs/fs_attrlist.c 5
/src/sleuthkit/tsk/fs/fs_attr.cpp 4
/src/sleuthkit/tsk/img/logical_img.cpp 1
/src/sleuthkit/tsk/fs/ntfs_dent.cpp 2
/src/sleuthkit/tsk/base/tsk_list.c 3
/src/sleuthkit/tsk/fs/fs_dir.cpp 12
/src/sleuthkit/tsk/fs/fatfs.cpp 1
/src/sleuthkit/tsk/fs/fatxxfs.cpp 1
/src/sleuthkit/tsk/fs/exfatfs.cpp 9
/src/sleuthkit/tsk/fs/fatfs_utils.c 1
/src/sleuthkit/tsk/fs/exfatfs_meta.cpp 3
/src/sleuthkit/tsk/fs/ffs.cpp 1
/src/sleuthkit/tsk/fs/ext2fs.cpp 1
/src/sleuthkit/tsk/fs/hfs.cpp 7
/src/sleuthkit/tsk/fs/ifind_lib.cpp 1
/src/sleuthkit/tsk/fs/iso9660.cpp 8
/src/sleuthkit/tsk/base/tsk_unicode.c 1
/src/sleuthkit/tsk/fs/rawfs.c 1
/src/sleuthkit/tsk/fs/swapfs.c 1
/src/sleuthkit/tsk/fs/yaffs.cpp 18
/src/sleuthkit/tsk/fs/btrfs.cpp 43
/src/sleuthkit/tsk/fs/btrfs_csum.cpp 1
/src/sleuthkit/tsk/base/crc.c 6
/src/sleuthkit/tsk/fs/tsk_btrfs.h 2
/src/sleuthkit/tsk/fs/apfs_open.cpp 1
/src/sleuthkit/tsk/fs/apfs_compat.cpp 15
/src/sleuthkit/tsk/fs/apfs.cpp 27
/src/sleuthkit/tsk/fs/tsk_apfs.hpp 57
/src/sleuthkit/tsk/pool/apfs_pool.cpp 2
/src/sleuthkit/./tsk/pool/tsk_apfs.hpp 7
/src/sleuthkit/./tsk/fs/tsk_apfs.hpp 1
/src/sleuthkit/tsk/auto/guid.cpp 3
/src/sleuthkit/./tsk/auto/guid.h 3
/src/sleuthkit/./tsk/util/span.hpp 4
/src/sleuthkit/tsk/fs/apfs_fs.cpp 3
/src/sleuthkit/./tsk/pool/tsk_pool.hpp 5
/src/sleuthkit/./tsk/util/lw_shared_ptr.hpp 13
/src/sleuthkit/tsk/fs/apfs_fs.hpp 2
/src/sleuthkit/tsk/fs/apfs_compat.hpp 3
/src/sleuthkit/tsk/fs/xfs.cpp 1
/src/sleuthkit/tsk/fs/fls_lib.cpp 3
/src/sleuthkit/tsk/base/tsk_stack.c 5
/src/sleuthkit/tsk/img/img_open.cpp 1

Fuzzer: fls_hfs_fuzzer

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 1949 100.%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 0 0.0%
All colors 1949 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
0 0 None 0 0 hexDigitToChar(char) call site: 00000 /src/sleuthkit/tsk/auto/guid.cpp:89

Runtime coverage analysis

Covered functions
3
Functions that are reachable but not covered
673
Reachable functions
675
Percentage of reachable functions covered
0.3%
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
/src/sleuthkit/ossfuzz/fls_fuzzer.cc 1
/src/sleuthkit/ossfuzz/mem_img.h 1
/src/sleuthkit/tsk/img/legacy_cache.cpp 3
/src/sleuthkit/tsk/base/tsk_lock.c 4
/src/sleuthkit/tsk/fs/fs_open.c 4
/src/sleuthkit/tsk/base/tsk_error.c 13
/src/sleuthkit/tsk/fs/logical_fs.cpp 9
/src/sleuthkit/tsk/base/tsk_printf.c 1
/src/sleuthkit/tsk/img/unsupported_types.cpp 4
/src/sleuthkit/tsk/base/mymalloc.c 2
/src/sleuthkit/tsk/img/img_io.cpp 1
/src/sleuthkit/tsk/util/detect_encryption.c 6
/src/sleuthkit/tsk/fs/ntfs.cpp 9
/src/sleuthkit/tsk/fs/encryptionHelper.cpp 2
/src/sleuthkit/tsk/fs/fs_io.c 5
/src/sleuthkit/tsk/base/tsk_endian.c 2
/src/sleuthkit/tsk/fs/fs_file.cpp 7
/src/sleuthkit/tsk/fs/fs_name.cpp 4
/src/sleuthkit/tsk/fs/fs_inode.c 2
/src/sleuthkit/tsk/fs/fs_attrlist.c 5
/src/sleuthkit/tsk/fs/fs_attr.cpp 4
/src/sleuthkit/tsk/img/logical_img.cpp 1
/src/sleuthkit/tsk/fs/ntfs_dent.cpp 2
/src/sleuthkit/tsk/base/tsk_list.c 3
/src/sleuthkit/tsk/fs/fs_dir.cpp 12
/src/sleuthkit/tsk/fs/fatfs.cpp 1
/src/sleuthkit/tsk/fs/fatxxfs.cpp 1
/src/sleuthkit/tsk/fs/exfatfs.cpp 9
/src/sleuthkit/tsk/fs/fatfs_utils.c 1
/src/sleuthkit/tsk/fs/exfatfs_meta.cpp 3
/src/sleuthkit/tsk/fs/ffs.cpp 1
/src/sleuthkit/tsk/fs/ext2fs.cpp 1
/src/sleuthkit/tsk/fs/hfs.cpp 7
/src/sleuthkit/tsk/fs/ifind_lib.cpp 1
/src/sleuthkit/tsk/fs/iso9660.cpp 8
/src/sleuthkit/tsk/base/tsk_unicode.c 1
/src/sleuthkit/tsk/fs/rawfs.c 1
/src/sleuthkit/tsk/fs/swapfs.c 1
/src/sleuthkit/tsk/fs/yaffs.cpp 18
/src/sleuthkit/tsk/fs/btrfs.cpp 43
/src/sleuthkit/tsk/fs/btrfs_csum.cpp 1
/src/sleuthkit/tsk/base/crc.c 6
/src/sleuthkit/tsk/fs/tsk_btrfs.h 2
/src/sleuthkit/tsk/fs/apfs_open.cpp 1
/src/sleuthkit/tsk/fs/apfs_compat.cpp 15
/src/sleuthkit/tsk/fs/apfs.cpp 27
/src/sleuthkit/tsk/fs/tsk_apfs.hpp 57
/src/sleuthkit/tsk/pool/apfs_pool.cpp 2
/src/sleuthkit/./tsk/pool/tsk_apfs.hpp 7
/src/sleuthkit/./tsk/fs/tsk_apfs.hpp 1
/src/sleuthkit/tsk/auto/guid.cpp 3
/src/sleuthkit/./tsk/auto/guid.h 3
/src/sleuthkit/./tsk/util/span.hpp 4
/src/sleuthkit/tsk/fs/apfs_fs.cpp 3
/src/sleuthkit/./tsk/pool/tsk_pool.hpp 5
/src/sleuthkit/./tsk/util/lw_shared_ptr.hpp 13
/src/sleuthkit/tsk/fs/apfs_fs.hpp 2
/src/sleuthkit/tsk/fs/apfs_compat.hpp 3
/src/sleuthkit/tsk/fs/xfs.cpp 1
/src/sleuthkit/tsk/fs/fls_lib.cpp 3
/src/sleuthkit/tsk/base/tsk_stack.c 5
/src/sleuthkit/tsk/img/img_open.cpp 1

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
hfs_istat(TSK_FS_INFO*,TSK_FS_ISTAT_FLAG_ENUM,_IO_FILE*,unsignedlong,unsignedlong,int) /src/sleuthkit/tsk/fs/hfs.cpp 6 ['N/A', 'int', 'N/A', 'size_t', 'size_t', 'int'] 12 0 4198 472 462 132 0 1417 866
APFSFSCompat::APFSFSCompat(TSK_IMG_INFO*,_TSK_POOL_INFOconst*,unsignedlong,charconst*)::$_11::__invoke(TSK_FS_FILE*) /src/sleuthkit/tsk/fs/apfs_compat.cpp 1 ['N/A'] 25 0 17 3 2 325 0 1131 657
fatxxfs_inode_lookup /src/sleuthkit/tsk/fs/fatxxfs_meta.cpp 3 ['N/A', 'N/A', 'size_t'] 12 0 194 27 12 66 0 690 505
ntfs_proc_attrseq(NTFS_INFO*,TSK_FS_FILE*,ntfs_attrconst*,unsignedlong,unsignedlong,NTFS_ATTRLIST_MAPconst*,TSK_STACK*) /src/sleuthkit/tsk/fs/ntfs.cpp 7 ['N/A', 'N/A', 'N/A', 'size_t', 'size_t', 'N/A', 'N/A'] 14 0 7380 472 169 97 5 918 450
ext2fs_fsstat(TSK_FS_INFO*,_IO_FILE*) /src/sleuthkit/tsk/fs/ext2fs.cpp 2 ['N/A', 'N/A'] 11 0 10662 567 176 76 0 629 437
APFSPoolCompat::poolstat(_IO_FILE*)const /src/sleuthkit/tsk/pool/apfs_pool_compat.cpp 2 ['N/A', 'N/A'] 23 0 1148 197 123 388 0 1025 391
hfs_inode_walk(TSK_FS_INFO*,unsignedlong,unsignedlong,TSK_FS_META_FLAG_ENUM,TSK_WALK_RET_ENUM(*)(TSK_FS_FILE*,void*),void*) /src/sleuthkit/tsk/fs/hfs.cpp 6 ['N/A', 'size_t', 'size_t', 'int', 'N/A', 'N/A'] 12 0 367 63 16 182 0 1363 386
ntfs_dir_open_meta /src/sleuthkit/tsk/fs/ntfs_dent.cpp 4 ['N/A', 'N/A', 'size_t', 'int'] 13 0 3376 268 100 160 0 883 359
exfatfs_fsstat /src/sleuthkit/tsk/fs/exfatfs.cpp 2 ['N/A', 'N/A'] 15 0 104 21 6 112 0 671 310
APFSFSCompat::APFSFSCompat(TSK_IMG_INFO*,_TSK_POOL_INFOconst*,unsignedlong,charconst*)::$_4::__invoke(TSK_FS_INFO*,TSK_FS_ISTAT_FLAG_ENUM,_IO_FILE*,unsignedlong,unsignedlong,int) /src/sleuthkit/tsk/fs/apfs_compat.cpp 6 ['N/A', 'int', 'N/A', 'size_t', 'size_t', 'int'] 15 0 37 3 2 141 0 807 250

Implementing fuzzers that target the above functions will improve reachability such that it becomes:

Functions statically reachable by fuzzers
52.0%
722 / 1378
Cyclomatic complexity statically reachable by fuzzers
57.9%
8546 / 14680

All functions overview

If you implement fuzzers for these functions, the status of all functions in the project will be:

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

/src/sleuthkit/ossfuzz/mmls_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['tsk_vs_part_unused', 'tsk_vs_part_add', 'tsk_vs_mac_open', 'tsk_error_set_errstr2', 'tsk_malloc', 'tsk_error_set_errstr', 'tsk_vs_read_block', 'tsk_img_read', 'tsk_vs_open', 'LLVMFuzzerTestOneInput']

/src/sleuthkit/ossfuzz/mmls_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['tsk_vs_part_unused', 'tsk_vs_part_add', 'tsk_vs_sun_open', 'tsk_error_set_errstr2', 'tsk_malloc', 'tsk_error_set_errstr', 'tsk_vs_read_block', 'tsk_img_read', 'LLVMFuzzerTestOneInput']

/src/sleuthkit/ossfuzz/mmls_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


/src/sleuthkit/ossfuzz/mmls_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


/src/sleuthkit/ossfuzz/fls_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['tsk_fs_free', 'btrfs_open', 'tsk_fs_read_decrypt', 'tsk_take_lock', 'tsk_img_read', 'tsk_error_set_errstr', 'tsk_fs_read', 'tsk_malloc', 'tsk_release_lock', 'tsk_deinit_lock']

/src/sleuthkit/ossfuzz/fls_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


/src/sleuthkit/ossfuzz/fls_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


/src/sleuthkit/ossfuzz/fls_apfs_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['tsk_fs_dir_open_meta_internal(TSK_FS_INFO*, unsigned long, int)', 'tsk_fs_file_close', 'APFSFileSystem::APFSFileSystem(APFSPool const&, unsigned long)', 'tsk_malloc', 'tsk_take_lock', 'tsk_release_lock', 'tsk_fs_dir_walk_recursive(TSK_FS_INFO*, DENT_DINFO*, unsigned long, TSK_FS_DIR_WALK_FLAG_ENUM, TSK_WALK_RET_ENUM (*)(TSK_FS_FILE*, char const*, void*), void*, int)', 'apfs_open', 'LLVMFuzzerTestOneInput', 'APFSBtreeNodeIterator > APFSBtreeNode::find(unsigned long const&, APFSObjectBtreeNode::find(unsigned long) const::$_0) const']

/src/sleuthkit/ossfuzz/fls_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['tsk_fs_name_copy', 'tsk_fs_dir_open_meta_internal(TSK_FS_INFO*, unsigned long, int)', 'ext2fs_open', 'tsk_take_lock', 'tsk_fs_free', 'tsk_error_errstr2_concat', 'tsk_img_read', 'tsk_fs_read_block', 'tsk_error_set_errstr2', 'tsk_fs_attr_run_alloc']

/src/sleuthkit/ossfuzz/fls_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['iso9660_open', 'tsk_fs_dir_open_meta_internal(TSK_FS_INFO*, unsigned long, int)', 'tsk_fs_attr_free', 'tsk_fs_free', 'tsk_take_lock', 'tsk_fs_attr_run_alloc', 'tsk_img_read', 'tsk_fs_name_copy', 'tsk_error_set_errstr2', 'tsk_fs_attr_read']

/src/sleuthkit/ossfuzz/fls_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Runtime coverage analysis

This section shows analysis of runtime coverage data.

For futher technical details on how this section is generated, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
tsk_img_read 33 18 54.54% ['fls_apfs_fuzzer', 'fls_hfs_fuzzer', 'mmls_dos_fuzzer', 'fls_ext_fuzzer', 'fls_fat_fuzzer', 'mmls_gpt_fuzzer', 'mmls_sun_fuzzer', 'mmls_mac_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_iso9660_fuzzer']
tsk_vs_open 151 13 8.609% ['mmls_sun_fuzzer', 'mmls_dos_fuzzer', 'mmls_mac_fuzzer', 'mmls_gpt_fuzzer']
tsk_vs_part_walk 35 16 45.71% ['mmls_sun_fuzzer', 'mmls_dos_fuzzer', 'mmls_mac_fuzzer', 'mmls_gpt_fuzzer']
btrfs_open 104 41 39.42% ['fls_apfs_fuzzer', 'fls_hfs_fuzzer', 'fls_ext_fuzzer', 'fls_fat_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_iso9660_fuzzer']
tsk_fs_open_img_decrypt 158 44 27.84% ['fls_apfs_fuzzer', 'fls_hfs_fuzzer', 'fls_ext_fuzzer', 'fls_fat_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_iso9660_fuzzer']
APFSFSCompat::dir_open_meta(TSK_FS_DIR**,unsignedlong,int)const 66 17 25.75% ['fls_apfs_fuzzer']
APFSFSCompat::file_add_meta(TSK_FS_FILE*,unsignedlong)const 72 19 26.38% ['fls_apfs_fuzzer']
APFSBtreeNodeIterator APFSJObjBtreeNode::find (unsignedlongconst&,APFSJObjTree::jobjs(unsignedlong)const::{lambda(auto:1const&,auto:2const&)#1})const 43 7 16.27% ['fls_apfs_fuzzer']
tsk_pool_open_img 42 20 47.61% ['fls_apfs_fuzzer']
ext2fs_make_data_run_extent_index(TSK_FS_INFO*,TSK_FS_ATTR*,TSK_FS_ATTR*,unsignedlong,unsignedlong*) 82 44 53.65% ['fls_ext_fuzzer']
print_dent_act(TSK_FS_FILE*,charconst*,void*) 56 7 12.5% ['fls_ext_fuzzer', 'fls_iso9660_fuzzer']
tsk_fs_attr_alloc 31 16 51.61% ['fls_ext_fuzzer', 'fls_iso9660_fuzzer']
tsk_fs_attr_set_run 52 24 46.15% ['fls_ext_fuzzer', 'fls_iso9660_fuzzer']
tsk_fs_attrlist_getnew 47 25 53.19% ['fls_ext_fuzzer', 'fls_iso9660_fuzzer']
iso9660_inode_walk(TSK_FS_INFO*,unsignedlong,unsignedlong,TSK_FS_META_FLAG_ENUM,TSK_WALK_RET_ENUM(*)(TSK_FS_FILE*,void*),void*) 114 51 44.73% ['fls_iso9660_fuzzer']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
[] []
/src/sleuthkit/tsk/fs/tsk_xfs.h [] []
/src/sleuthkit/tsk/fs/ffs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/fs/fs_load.cpp [] []
/src/sleuthkit/tsk/fs/exfatfs_meta.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/vs/mm_io.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer'] ['mmls_mac_fuzzer', 'mmls_sun_fuzzer']
/src/sleuthkit/tsk/pool/apfs_pool_compat.hpp ['fls_apfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/fs/decmpfs.cpp [] []
/src/sleuthkit/tsk/fs/hfs_journal.cpp [] []
/src/sleuthkit/tsk/base/mymalloc.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'fls_btrfs_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/fs/fs_block.c [] []
/src/sleuthkit/tsk/fs/apfs_compat.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer']
/src/sleuthkit/tsk/fs/apfs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer']
/src/sleuthkit/tsk/base/tsk_error.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'fls_btrfs_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/fs/encryptionHelper.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_btrfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/util/detect_encryption.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/fs/iso9660.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_iso9660_fuzzer']
/src/sleuthkit/tsk/img/raw.cpp [] []
/src/sleuthkit/tsk/vs/mac.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer'] ['mmls_mac_fuzzer']
/src/sleuthkit/tsk/fs/xfs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/util/file_system_utils.cpp [] []
/src/sleuthkit/./tsk/util/span.hpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/pool/tsk_pool.hpp ['fls_apfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/fs/apfs_compat.hpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/fs/hfs_dent.cpp [] []
/src/sleuthkit/tsk/img/img_open.h [] []
/src/sleuthkit/tsk/base/tsk_lock.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'fls_btrfs_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/vs/bsd.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer'] []
/usr/local/bin/../include/c++/v1/string [] []
/src/sleuthkit/ossfuzz/mmls_fuzzer.cc ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer'] ['mmls_mac_fuzzer', 'mmls_sun_fuzzer']
/src/sleuthkit/tsk/fs/fs_attrlist.c ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/fs/apfs_fs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/img/img_io.cpp ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'fls_btrfs_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/pool/apfs_pool_compat.cpp ['fls_apfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/fs/fs_name.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/base/sha1c.c [] []
/src/sleuthkit/tsk/fs/ext2fs_dent.cpp [] []
/src/sleuthkit/./tsk/fs/apfs_fs.hpp ['fls_apfs_fuzzer'] []
/src/sleuthkit/tsk/img/logical_img.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/pool/pool_open.cpp ['fls_apfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/fs/exfatfs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/fs/fatxxfs_meta.cpp [] []
/src/sleuthkit/./tsk/util/lw_shared_ptr.hpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/fs/exfatfs_dent.cpp [] []
/src/sleuthkit/./tsk/pool/tsk_pool.hpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/fs/ifind_lib.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/base/tsk_list.c ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/img/legacy_cache.cpp ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'fls_btrfs_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/usr/local/bin/../include/c++/v1/__exception/exception.h [] []
/src/sleuthkit/tsk/vs/gpt.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer'] []
/src/sleuthkit/tsk/fs/btrfs_csum.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_btrfs_fuzzer']
/src/sleuthkit/tsk/fs/iso9660_dent.cpp [] []
/src/sleuthkit/tsk/fs/fs_types.c [] []
/src/sleuthkit/./tsk/fs/tsk_apfs.hpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/base/tsk_unicode.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_iso9660_fuzzer']
/src/sleuthkit/tsk/base/crc.c ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_btrfs_fuzzer']
/src/sleuthkit/tsk/fs/ext2fs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_ext_fuzzer']
/src/sleuthkit/tsk/base/tsk_endian.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/base/tsk_stack.c ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/fs/apfs_fs.hpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/img/img_open.cpp ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'fls_btrfs_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/fs/logical_fs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/fs/nofs_misc.cpp [] []
/src/sleuthkit/ossfuzz/fls_fuzzer.cc ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_btrfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/base/tsk_printf.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/fs/unix_misc.cpp [] []
/src/sleuthkit/tsk/fs/fatfs_utils.c ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/auto/guid.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer']
/src/sleuthkit/tsk/fs/ffs_dent.cpp [] []
/src/sleuthkit/tsk/fs/fs_file.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/fs/fs_io.c ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_btrfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/fs/fls_lib.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/fs/fatfs_meta.cpp [] []
/src/sleuthkit/tsk/vs/dos.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer'] []
/src/sleuthkit/./tsk/pool/tsk_apfs.hpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/fs/ntfs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/./tsk/auto/guid.h ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/fs/fatfs_dent.cpp [] []
/src/sleuthkit/tsk/fs/fs_open.c ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_btrfs_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/fs/tsk_apfs.hpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/fs/fatxxfs_dent.c [] []
/src/sleuthkit/tsk/fs/fs_attr.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/fs/fs_dir.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/fs/rawfs.c ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/fs/swapfs.c ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/fs/fs_inode.c ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/vs/sun.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer'] ['mmls_sun_fuzzer']
/src/sleuthkit/tsk/fs/ntfs_dent.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/pool/pool_compat.hpp ['fls_apfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/vs/mm_open.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer'] ['mmls_mac_fuzzer', 'mmls_sun_fuzzer']
/src/sleuthkit/tsk/fs/apfs_open.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/img/unsupported_types.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/pool/tsk_apfs.hpp ['fls_apfs_fuzzer'] ['fls_apfs_fuzzer']
/usr/local/bin/../include/c++/v1/sstream [] []
/src/sleuthkit/ossfuzz/mem_img.h ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer', 'fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'fls_btrfs_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer']
/src/sleuthkit/tsk/fs/ext2fs_journal.cpp [] []
/src/sleuthkit/tsk/fs/hfs_unicompare.cpp [] []
/src/sleuthkit/tsk/img/mult_files.cpp [] []
/src/sleuthkit/tsk/fs/fatfs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/fs/btrfs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_btrfs_fuzzer']
/src/sleuthkit/tsk/fs/hfs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/vs/mm_part.c ['mmls_mac_fuzzer', 'mmls_sun_fuzzer', 'mmls_gpt_fuzzer', 'mmls_dos_fuzzer'] ['mmls_mac_fuzzer', 'mmls_sun_fuzzer']
/src/sleuthkit/tsk/fs/tsk_btrfs.h ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/base/md5c.c [] []
/src/sleuthkit/tsk/fs/lzvn.c [] []
/src/sleuthkit/tsk/fs/fatxxfs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/tsk/pool/apfs_pool.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/fs/yaffs.cpp ['fls_btrfs_fuzzer', 'fls_ntfs_fuzzer', 'fls_fat_fuzzer', 'fls_apfs_fuzzer', 'fls_ext_fuzzer', 'fls_iso9660_fuzzer', 'fls_hfs_fuzzer'] []
/src/sleuthkit/ossfuzz/fls_apfs_fuzzer.cc ['fls_apfs_fuzzer'] ['fls_apfs_fuzzer']
/src/sleuthkit/tsk/fs/xfs_dent.cpp [] []
/usr/local/bin/../include/c++/v1/stdexcept [] []

Directories in report

Directory
/src/sleuthkit/tsk/base/
/src/sleuthkit/tsk/pool/
/src/sleuthkit/./tsk/fs/
/src/sleuthkit/tsk/fs/
/src/sleuthkit/tsk/vs/
/usr/local/bin/../include/c++/v1/
/src/sleuthkit/ossfuzz/
/src/sleuthkit/tsk/auto/
/usr/local/bin/../include/c++/v1/__exception/
/src/sleuthkit/./tsk/util/
/src/sleuthkit/tsk/util/
/src/sleuthkit/tsk/img/
/src/sleuthkit/./tsk/pool/
/src/sleuthkit/./tsk/auto/