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

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
18 114 4 :

['skip_extension', 'celt_fatal', 'skip_extension_payload', 'opus_extension_iterator_next']

18 114 opus_extension_iterator_next call site: 00030 /src/opus/src/extensions.c:196
0 4 1 :

['parse_size']

0 4 opus_packet_parse_impl call site: 00014 /src/opus/src/opus.c:342
0 2 1 :

['encode_size']

6 88 opus_repacketizer_out_range_impl call site: 00049 /src/opus/src/repacketizer.c:294
0 0 None 6 288 opus_repacketizer_out_range_impl call site: 00017 /src/opus/src/repacketizer.c:138
0 0 None 6 170 opus_repacketizer_out_range_impl call site: 00039 /src/opus/src/repacketizer.c:222
0 0 None 6 73 opus_extension_iterator_next call site: 00032 /src/opus/src/extensions.c:258
0 0 None 0 0 opus_extension_iterator_next call site: 00025 /src/opus/src/extensions.c:161
0 0 None 0 0 opus_packet_extensions_parse call site: 00038 /src/opus/src/extensions.c:357
0 0 None 0 0 opus_packet_extensions_generate call site: 00048 /src/opus/src/extensions.c:619
0 0 None 0 0 skip_extension call site: 00026 /src/opus/src/extensions.c:103
0 0 None 0 0 skip_extension call site: 00026 /src/opus/src/extensions.c:107
0 0 None 0 0 write_extension_payload call site: 00046 /src/opus/src/extensions.c:413

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 opus_repacketizer_create [function] [call site] 00001
2 opus_repacketizer_get_size [function] [call site] 00002
2 opus_alloc [function] [call site] 00003
2 opus_repacketizer_init [function] [call site] 00004
1 opus_repacketizer_init [function] [call site] 00005
1 char_to_int(unsigned char const*) [function] [call site] 00006
1 opus_repacketizer_cat [function] [call site] 00007
2 opus_repacketizer_cat_impl [function] [call site] 00008
3 opus_packet_get_samples_per_frame [function] [call site] 00009
3 opus_packet_get_nb_frames [function] [call site] 00010
3 opus_packet_parse_impl [function] [call site] 00011
4 opus_packet_get_samples_per_frame [function] [call site] 00012
4 parse_size [function] [call site] 00013
4 parse_size [function] [call site] 00014
4 parse_size [function] [call site] 00015
1 opus_repacketizer_out [function] [call site] 00016
2 opus_repacketizer_out_range_impl [function] [call site] 00017
3 opus_packet_extensions_count [function] [call site] 00018
4 opus_extension_iterator_init [function] [call site] 00019
5 celt_fatal [function] [call site] 00020
6 fprintf [call site] 00021
6 abort [call site] 00022
5 celt_fatal [function] [call site] 00023
5 celt_fatal [function] [call site] 00024
4 opus_extension_iterator_next [function] [call site] 00025
5 skip_extension [function] [call site] 00026
6 skip_extension_payload [function] [call site] 00027
5 celt_fatal [function] [call site] 00028
5 skip_extension_payload [function] [call site] 00029
5 celt_fatal [function] [call site] 00030
5 skip_extension [function] [call site] 00031
5 celt_fatal [function] [call site] 00032
5 opus_extension_iterator_next [function] [call site] 00033
3 opus_packet_extensions_parse [function] [call site] 00034
4 celt_fatal [function] [call site] 00035
4 celt_fatal [function] [call site] 00036
4 opus_extension_iterator_init [function] [call site] 00037
4 opus_extension_iterator_next [function] [call site] 00038
3 encode_size [function] [call site] 00039
3 opus_packet_extensions_generate [function] [call site] 00040
4 celt_fatal [function] [call site] 00041
4 celt_fatal [function] [call site] 00042
4 write_extension [function] [call site] 00043
5 celt_fatal [function] [call site] 00044
5 write_extension_payload [function] [call site] 00045
6 celt_fatal [function] [call site] 00046
4 write_extension_payload [function] [call site] 00047
4 celt_fatal [function] [call site] 00048
3 encode_size [function] [call site] 00049
3 encode_size [function] [call site] 00050
3 opus_packet_extensions_generate [function] [call site] 00051
3 celt_fatal [function] [call site] 00052
1 opus_repacketizer_destroy [function] [call site] 00053
2 opus_free [function] [call site] 00054