Fuzz introspector: stb_png_read_fuzzer
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
3 3 1 :

['stbi__refill_buffer(stbi__context*)']

3 3 stbi__get8(stbi__context*) call site: 00000 /src/stb/tests/../stb_image.h:1616
0 2 1 :

['stbi__err(char const*)']

0 2 stbi__load_main(stbi__context*,int*,int*,int*,int,stbi__result_info*,int) call site: 00000 /src/stb/tests/../stb_image.h:1145
0 2 1 :

['stbi__err(char const*)']

0 2 stbi__do_png(stbi__png*,int*,int*,int*,int,stbi__result_info*) call site: 00000 /src/stb/tests/../stb_image.h:5269
0 2 1 :

['stbi__err(char const*)']

0 2 stbi__convert_format(unsignedchar*,int,int,unsignedint,unsignedint) call site: 00000 /src/stb/tests/../stb_image.h:1762
0 2 1 :

['stbi__err(char const*)']

0 2 stbi__convert_format16(unsignedshort*,int,int,unsignedint,unsignedint) call site: 00000 /src/stb/tests/../stb_image.h:1819
0 0 None 0 11 stbi__parse_png_file(stbi__png*,int,int) call site: 00000 /src/stb/tests/../stb_image.h:5228
0 0 None 0 2 stbi__compute_huffman_codes(stbi__zbuf*) call site: 00000 /src/stb/tests/../stb_image.h:4372
0 0 None 0 0 stbi__skip(stbi__context*,int) call site: 00000 /src/stb/tests/../stb_image.h:1649
0 0 None 0 0 stbi__getn(stbi__context*,unsignedchar*,int) call site: 00000 /src/stb/tests/../stb_image.h:1666
0 0 None 0 0 stbi__expand_png_palette(stbi__png*,unsignedchar*,int,int) call site: 00000 /src/stb/tests/../stb_image.h:4968
0 0 None 0 0 stbi__fill_bits(stbi__zbuf*) call site: 00000 /src/stb/tests/../stb_image.h:4202

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 stbi_info_from_memory [function] [call site] 00001
2 stbi__start_mem(stbi__context*, unsigned char const*, int) [function] [call site] 00002
2 stbi__info_main(stbi__context*, int*, int*, int*) [function] [call site] 00003
3 stbi__png_info(stbi__context*, int*, int*, int*) [function] [call site] 00004
4 stbi__png_info_raw(stbi__png*, int*, int*, int*) [function] [call site] 00005
5 stbi__parse_png_file(stbi__png*, int, int) [function] [call site] 00006
6 stbi__check_png_header(stbi__context*) [function] [call site] 00007
7 stbi__get8(stbi__context*) [function] [call site] 00008
8 stbi__refill_buffer(stbi__context*) [function] [call site] 00009
6 stbi__get_chunk_header(stbi__context*) [function] [call site] 00010
7 stbi__get32be(stbi__context*) [function] [call site] 00011
8 stbi__get16be(stbi__context*) [function] [call site] 00012
9 stbi__get8(stbi__context*) [function] [call site] 00013
9 stbi__get8(stbi__context*) [function] [call site] 00014
8 stbi__get16be(stbi__context*) [function] [call site] 00015
7 stbi__get32be(stbi__context*) [function] [call site] 00016
6 stbi__skip(stbi__context*, int) [function] [call site] 00017
6 stbi__err(char const*) [function] [call site] 00018
6 stbi__err(char const*) [function] [call site] 00019
6 stbi__get32be(stbi__context*) [function] [call site] 00020
6 stbi__get32be(stbi__context*) [function] [call site] 00021
6 stbi__err(char const*) [function] [call site] 00022
6 stbi__err(char const*) [function] [call site] 00023
6 stbi__get8(stbi__context*) [function] [call site] 00024
6 stbi__get8(stbi__context*) [function] [call site] 00025
6 stbi__err(char const*) [function] [call site] 00026
6 stbi__err(char const*) [function] [call site] 00027
6 stbi__get8(stbi__context*) [function] [call site] 00028
6 stbi__get8(stbi__context*) [function] [call site] 00029
6 stbi__get8(stbi__context*) [function] [call site] 00030
6 stbi__err(char const*) [function] [call site] 00031
6 stbi__err(char const*) [function] [call site] 00032
6 stbi__err(char const*) [function] [call site] 00033
6 stbi__err(char const*) [function] [call site] 00034
6 stbi__err(char const*) [function] [call site] 00035
6 stbi__err(char const*) [function] [call site] 00036
6 stbi__get8(stbi__context*) [function] [call site] 00037
6 stbi__get8(stbi__context*) [function] [call site] 00038
6 stbi__get8(stbi__context*) [function] [call site] 00039
6 stbi__err(char const*) [function] [call site] 00040
6 stbi__err(char const*) [function] [call site] 00041
6 stbi__err(char const*) [function] [call site] 00042
6 stbi__err(char const*) [function] [call site] 00043
6 stbi__get8(stbi__context*) [function] [call site] 00044
6 stbi__err(char const*) [function] [call site] 00045
6 stbi__err(char const*) [function] [call site] 00046
6 stbi__get16be(stbi__context*) [function] [call site] 00047
6 stbi__get16be(stbi__context*) [function] [call site] 00048
6 stbi__err(char const*) [function] [call site] 00049
6 stbi__err(char const*) [function] [call site] 00050
6 stbi__err(char const*) [function] [call site] 00051
6 realloc [call site] 00052
6 stbi__err(char const*) [function] [call site] 00053
6 stbi__getn(stbi__context*, unsigned char*, int) [function] [call site] 00054
6 stbi__err(char const*) [function] [call site] 00055
6 stbi__err(char const*) [function] [call site] 00056
6 stbi_zlib_decode_malloc_guesssize_headerflag [function] [call site] 00057
7 stbi__malloc(unsigned long) [function] [call site] 00058
7 stbi__do_zlib(stbi__zbuf*, char*, int, int, int) [function] [call site] 00059
8 stbi__parse_zlib(stbi__zbuf*, int) [function] [call site] 00060
9 stbi__parse_zlib_header(stbi__zbuf*) [function] [call site] 00061
10 stbi__zget8(stbi__zbuf*) [function] [call site] 00062
11 stbi__zeof(stbi__zbuf*) [function] [call site] 00063
10 stbi__zget8(stbi__zbuf*) [function] [call site] 00064
10 stbi__zeof(stbi__zbuf*) [function] [call site] 00065
10 stbi__err(char const*) [function] [call site] 00066
10 stbi__err(char const*) [function] [call site] 00067
10 stbi__err(char const*) [function] [call site] 00068
9 stbi__zreceive(stbi__zbuf*, int) [function] [call site] 00069
10 stbi__fill_bits(stbi__zbuf*) [function] [call site] 00070
11 stbi__zget8(stbi__zbuf*) [function] [call site] 00071
9 stbi__zreceive(stbi__zbuf*, int) [function] [call site] 00072
9 stbi__parse_uncompressed_block(stbi__zbuf*) [function] [call site] 00073
10 stbi__zreceive(stbi__zbuf*, int) [function] [call site] 00074
10 stbi__err(char const*) [function] [call site] 00075
10 stbi__zget8(stbi__zbuf*) [function] [call site] 00076
10 stbi__err(char const*) [function] [call site] 00077
10 stbi__err(char const*) [function] [call site] 00078
10 stbi__zexpand(stbi__zbuf*, char*, int) [function] [call site] 00079
11 stbi__err(char const*) [function] [call site] 00080
11 stbi__err(char const*) [function] [call site] 00081
11 stbi__err(char const*) [function] [call site] 00082
11 realloc [call site] 00083
11 stbi__err(char const*) [function] [call site] 00084
9 stbi__zbuild_huffman(stbi__zhuffman*, unsigned char const*, int) [function] [call site] 00085
10 stbi__err(char const*) [function] [call site] 00086
10 stbi__err(char const*) [function] [call site] 00087
10 stbi__bit_reverse(int, int) [function] [call site] 00088
11 __assert_fail [call site] 00089
11 stbi__bitreverse16(int) [function] [call site] 00090
9 stbi__zbuild_huffman(stbi__zhuffman*, unsigned char const*, int) [function] [call site] 00091
9 stbi__compute_huffman_codes(stbi__zbuf*) [function] [call site] 00092
10 stbi__zreceive(stbi__zbuf*, int) [function] [call site] 00093
10 stbi__zreceive(stbi__zbuf*, int) [function] [call site] 00094
10 stbi__zreceive(stbi__zbuf*, int) [function] [call site] 00095
10 stbi__zreceive(stbi__zbuf*, int) [function] [call site] 00096
10 stbi__zbuild_huffman(stbi__zhuffman*, unsigned char const*, int) [function] [call site] 00097
10 stbi__zhuffman_decode(stbi__zbuf*, stbi__zhuffman*) [function] [call site] 00098
11 stbi__zeof(stbi__zbuf*) [function] [call site] 00099
11 stbi__fill_bits(stbi__zbuf*) [function] [call site] 00100
11 stbi__zhuffman_decode_slowpath(stbi__zbuf*, stbi__zhuffman*) [function] [call site] 00101
12 stbi__bit_reverse(int, int) [function] [call site] 00102
10 stbi__err(char const*) [function] [call site] 00103
10 stbi__zreceive(stbi__zbuf*, int) [function] [call site] 00104
10 stbi__err(char const*) [function] [call site] 00105
10 stbi__zreceive(stbi__zbuf*, int) [function] [call site] 00106
10 stbi__zreceive(stbi__zbuf*, int) [function] [call site] 00107
10 stbi__err(char const*) [function] [call site] 00108
10 stbi__err(char const*) [function] [call site] 00109
10 stbi__err(char const*) [function] [call site] 00110
10 stbi__zbuild_huffman(stbi__zhuffman*, unsigned char const*, int) [function] [call site] 00111
10 stbi__zbuild_huffman(stbi__zhuffman*, unsigned char const*, int) [function] [call site] 00112
9 stbi__parse_huffman_block(stbi__zbuf*) [function] [call site] 00113
10 stbi__zhuffman_decode(stbi__zbuf*, stbi__zhuffman*) [function] [call site] 00114
10 stbi__err(char const*) [function] [call site] 00115
10 stbi__zexpand(stbi__zbuf*, char*, int) [function] [call site] 00116
10 stbi__err(char const*) [function] [call site] 00117
10 stbi__zreceive(stbi__zbuf*, int) [function] [call site] 00118
10 stbi__zhuffman_decode(stbi__zbuf*, stbi__zhuffman*) [function] [call site] 00119
10 stbi__err(char const*) [function] [call site] 00120
10 stbi__zreceive(stbi__zbuf*, int) [function] [call site] 00121
10 stbi__err(char const*) [function] [call site] 00122
10 stbi__zexpand(stbi__zbuf*, char*, int) [function] [call site] 00123
6 stbi__create_png_image(stbi__png*, unsigned char*, unsigned int, int, int, int, int) [function] [call site] 00124
7 stbi__create_png_image_raw(stbi__png*, unsigned char*, unsigned int, int, unsigned int, unsigned int, int, int) [function] [call site] 00125
8 __assert_fail [call site] 00126
8 stbi__malloc_mad3(int, int, int, int) [function] [call site] 00127
9 stbi__mad3sizes_valid(int, int, int, int) [function] [call site] 00128
10 stbi__mul2sizes_valid(int, int) [function] [call site] 00129
10 stbi__addsizes_valid(int, int) [function] [call site] 00130
9 stbi__malloc(unsigned long) [function] [call site] 00131
8 stbi__err(char const*) [function] [call site] 00132
8 stbi__mad3sizes_valid(int, int, int, int) [function] [call site] 00133
8 stbi__err(char const*) [function] [call site] 00134
8 stbi__err(char const*) [function] [call site] 00135
8 stbi__err(char const*) [function] [call site] 00136
8 stbi__paeth(int, int, int) [function] [call site] 00137
9 abs [call site] 00138
9 abs [call site] 00139
9 abs [call site] 00140
8 stbi__paeth(int, int, int) [function] [call site] 00141
8 stbi__paeth(int, int, int) [function] [call site] 00142
8 __assert_fail [call site] 00143
8 stbi__paeth(int, int, int) [function] [call site] 00144
8 stbi__paeth(int, int, int) [function] [call site] 00145
8 __assert_fail [call site] 00146
7 stbi__malloc_mad3(int, int, int, int) [function] [call site] 00147
7 stbi__err(char const*) [function] [call site] 00148
7 stbi__create_png_image_raw(stbi__png*, unsigned char*, unsigned int, int, unsigned int, unsigned int, int, int) [function] [call site] 00149
6 stbi__compute_transparency16(stbi__png*, unsigned short*, int) [function] [call site] 00150
7 __assert_fail [call site] 00151
6 stbi__compute_transparency(stbi__png*, unsigned char*, int) [function] [call site] 00152
7 __assert_fail [call site] 00153
6 stbi__de_iphone(stbi__png*) [function] [call site] 00154
7 __assert_fail [call site] 00155
6 stbi__expand_png_palette(stbi__png*, unsigned char*, int, int) [function] [call site] 00156
7 stbi__malloc_mad2(int, int, int) [function] [call site] 00157
8 stbi__mad2sizes_valid(int, int, int) [function] [call site] 00158
9 stbi__mul2sizes_valid(int, int) [function] [call site] 00159
8 stbi__malloc(unsigned long) [function] [call site] 00160
7 stbi__err(char const*) [function] [call site] 00161
6 stbi__get32be(stbi__context*) [function] [call site] 00162
6 stbi__err(char const*) [function] [call site] 00163
6 stbi__err(char const*) [function] [call site] 00164
6 stbi__skip(stbi__context*, int) [function] [call site] 00165
6 stbi__get32be(stbi__context*) [function] [call site] 00166
5 stbi__rewind(stbi__context*) [function] [call site] 00167
3 stbi__err(char const*) [function] [call site] 00168
1 stbi_load_from_memory [function] [call site] 00169
2 stbi__start_mem(stbi__context*, unsigned char const*, int) [function] [call site] 00170
2 stbi__load_and_postprocess_8bit(stbi__context*, int*, int*, int*, int) [function] [call site] 00171
3 stbi__load_main(stbi__context*, int*, int*, int*, int, stbi__result_info*, int) [function] [call site] 00172
4 stbi__png_test(stbi__context*) [function] [call site] 00173
5 stbi__check_png_header(stbi__context*) [function] [call site] 00174
5 stbi__rewind(stbi__context*) [function] [call site] 00175
4 stbi__err(char const*) [function] [call site] 00176
3 __assert_fail [call site] 00177
3 stbi__convert_16_to_8(unsigned short*, int, int, int) [function] [call site] 00178
4 stbi__malloc(unsigned long) [function] [call site] 00179
4 stbi__err(char const*) [function] [call site] 00180
3 stbi__vertical_flip(void*, int, int, int) [function] [call site] 00181