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
12 41 3 :

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

12 41 opus_extension_iterator_next_repeat call site: 00032 /src/opus/src/extensions.c:191
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: 00051 /src/opus/src/repacketizer.c:294
0 0 None 6 296 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: 00041 /src/opus/src/repacketizer.c:222
0 0 None 6 59 opus_extension_iterator_next call site: 00034 /src/opus/src/extensions.c:271
0 0 None 0 0 opus_extension_iterator_next call site: 00025 /src/opus/src/extensions.c:229
0 0 None 0 0 opus_packet_extensions_parse call site: 00040 /src/opus/src/extensions.c:372
0 0 None 0 0 opus_packet_extensions_generate call site: 00050 /src/opus/src/extensions.c:634
0 0 None 0 0 skip_extension call site: 00028 /src/opus/src/extensions.c:103
0 0 None 0 0 skip_extension call site: 00028 /src/opus/src/extensions.c:107
0 0 None 0 0 write_extension_payload call site: 00048 /src/opus/src/extensions.c:428

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 opus_extension_iterator_next_repeat [function] [call site] 00026
6 celt_fatal [function] [call site] 00027
6 skip_extension [function] [call site] 00028
7 skip_extension_payload [function] [call site] 00029
6 celt_fatal [function] [call site] 00030
6 skip_extension_payload [function] [call site] 00031
6 celt_fatal [function] [call site] 00032
5 skip_extension [function] [call site] 00033
5 celt_fatal [function] [call site] 00034
5 opus_extension_iterator_next_repeat [function] [call site] 00035
3 opus_packet_extensions_parse [function] [call site] 00036
4 celt_fatal [function] [call site] 00037
4 celt_fatal [function] [call site] 00038
4 opus_extension_iterator_init [function] [call site] 00039
4 opus_extension_iterator_next [function] [call site] 00040
3 encode_size [function] [call site] 00041
3 opus_packet_extensions_generate [function] [call site] 00042
4 celt_fatal [function] [call site] 00043
4 celt_fatal [function] [call site] 00044
4 write_extension [function] [call site] 00045
5 celt_fatal [function] [call site] 00046
5 write_extension_payload [function] [call site] 00047
6 celt_fatal [function] [call site] 00048
4 write_extension_payload [function] [call site] 00049
4 celt_fatal [function] [call site] 00050
3 encode_size [function] [call site] 00051
3 encode_size [function] [call site] 00052
3 opus_packet_extensions_generate [function] [call site] 00053
3 celt_fatal [function] [call site] 00054
1 opus_repacketizer_destroy [function] [call site] 00055
2 opus_free [function] [call site] 00056