Fuzz introspector: fuzz_raster
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 12 1 :

['validate_end']

12 12 cupsCopyString call site: 00088 /src/cups/cups/string.c:115
4 241 3 :

['strerror', '__errno_location', '_cupsRasterAddError']

4 241 cups_raster_update call site: 00148 /src/cups/cups/raster-stream.c:1874
4 4 1 :

['htonl']

8 486 _cupsRasterNew call site: 00102 /src/cups/cups/raster-stream.c:794
2 2 1 :

['realloc']

2 2 _cupsRasterAddError call site: 00104 /src/cups/cups/raster-error.c:66
2 2 1 :

['realloc']

2 2 cups_raster_read call site: 00133 /src/cups/cups/raster-stream.c:1617
0 0 None 36 56 cups_globals_alloc call site: 00071 /src/cups/cups/globals.c:182
0 0 None 16 36 cups_globals_alloc call site: 00075 /src/cups/cups/globals.c:308
0 0 None 12 32 cups_globals_alloc call site: 00082 /src/cups/cups/globals.c:353
0 0 1 :

['free']

6 243 cups_raster_update call site: 00147 /src/cups/cups/raster-stream.c:1871
0 0 None 4 241 _cupsRasterNew call site: 00099 /src/cups/cups/raster-stream.c:783
0 0 None 0 270 cupsRasterOpen call site: 00008 /src/cups/cups/raster-stubs.c:111
0 0 None 0 0 _cupsRasterAddError call site: 00104 /src/cups/cups/raster-error.c:44

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 getpid [call site] 00001
1 sprintf [call site] 00002
1 fopen [call site] 00003
1 fwrite [call site] 00004
1 fclose [call site] 00005
1 load_res [function] [call site] 00006
2 open [call site] 00007
2 cupsRasterOpen [function] [call site] 00008
3 _cupsRasterNew [function] [call site] 00009
4 _cupsRasterClearError [function] [call site] 00010
5 _cupsGlobals [function] [call site] 00011
6 pthread_once [call site] 00012
6 cups_globals_init [function] [call site] 00013
7 pthread_key_create [call site] 00014
7 cups_globals_free [function] [call site] 00015
8 _cupsStrFree [function] [call site] 00016
9 cupsMutexLock [function] [call site] 00017
10 pthread_mutex_lock [call site] 00018
9 cupsArrayFind [function] [call site] 00019
10 cups_array_find [function] [call site] 00020
9 cupsArrayRemove [function] [call site] 00021
10 cups_array_find [function] [call site] 00022
9 cupsMutexUnlock [function] [call site] 00023
10 pthread_mutex_unlock [call site] 00024
8 cupsArrayDelete [function] [call site] 00025
8 cupsArrayDelete [function] [call site] 00026
8 cupsArrayDelete [function] [call site] 00027
8 httpClose [function] [call site] 00028
9 _httpDisconnect [function] [call site] 00029
10 _httpTLSStop [function] [call site] 00030
11 SSL_get_SSL_CTX [call site] 00031
11 SSL_shutdown [call site] 00032
11 SSL_CTX_free [call site] 00033
11 SSL_free [call site] 00034
10 httpAddrClose [function] [call site] 00035
11 close [call site] 00036
11 unlink [call site] 00037
9 httpAddrFreeList [function] [call site] 00038
9 _httpFreeCredentials [function] [call site] 00039
10 sk_X509_free [function] [call site] 00040
11 OPENSSL_sk_free [call site] 00041
8 _httpFreeCredentials [function] [call site] 00042
8 cupsFileClose [function] [call site] 00043
9 cupsFileFlush [function] [call site] 00044
10 cups_compress [function] [call site] 00045
11 crc32 [call site] 00046
11 cups_write [function] [call site] 00047
12 send [call site] 00048
12 write [call site] 00049
12 __errno_location [call site] 00050
11 deflate [call site] 00051
10 cups_write [function] [call site] 00052
9 inflateEnd [call site] 00053
9 cups_write [function] [call site] 00054
9 deflate [call site] 00055
9 cups_write [function] [call site] 00056
9 deflateEnd [call site] 00057
9 httpAddrClose [function] [call site] 00058
9 close [call site] 00059
8 cupsFileClose [function] [call site] 00060
8 cupsFileClose [function] [call site] 00061
8 cupsArrayDelete [function] [call site] 00062
8 cupsArrayDelete [function] [call site] 00063
8 regfree [call site] 00064
8 cupsFreeOptions [function] [call site] 00065
9 _cupsStrFree [function] [call site] 00066
9 _cupsStrFree [function] [call site] 00067
6 pthread_getspecific [call site] 00068
6 cups_globals_alloc [function] [call site] 00069
7 getenv [call site] 00070
7 calloc [call site] 00071
7 getenv [call site] 00072
7 getenv [call site] 00073
7 getenv [call site] 00074
7 getauxval [call site] 00075
7 getenv [call site] 00076
7 getenv [call site] 00077
7 getenv [call site] 00078
7 getenv [call site] 00079
7 getenv [call site] 00080
7 getenv [call site] 00081
7 getuid [call site] 00082
7 strdup [call site] 00083
7 strdup [call site] 00084
7 getuid [call site] 00085
7 getpwuid_r [call site] 00086
7 cupsCopyString [function] [call site] 00087
8 strlen [call site] 00088
8 validate_end [function] [call site] 00089
7 snprintf [call site] 00090
7 snprintf [call site] 00091
7 snprintf [call site] 00092
7 access [call site] 00093
7 snprintf [call site] 00094
7 getuid [call site] 00095
7 snprintf [call site] 00096
7 strdup [call site] 00097
6 pthread_setspecific [call site] 00098
4 calloc [call site] 00099
4 __errno_location [call site] 00100
4 strerror [call site] 00101
4 _cupsRasterAddError [function] [call site] 00102
5 _cupsGlobals [function] [call site] 00103
5 vsnprintf [call site] 00104
5 realloc [call site] 00105
4 cups_raster_io [function] [call site] 00106
5 _cupsRasterAddError [function] [call site] 00107
4 __errno_location [call site] 00108
4 strerror [call site] 00109
4 _cupsRasterAddError [function] [call site] 00110
4 _cupsRasterAddError [function] [call site] 00111
4 cups_raster_io [function] [call site] 00112
4 __errno_location [call site] 00113
4 strerror [call site] 00114
4 _cupsRasterAddError [function] [call site] 00115
4 htonl [call site] 00116
4 htonl [call site] 00117
4 cups_raster_io [function] [call site] 00118
4 __errno_location [call site] 00119
4 strerror [call site] 00120
4 _cupsRasterAddError [function] [call site] 00121
3 cups_read_fd [function] [call site] 00122
4 read [call site] 00123
4 __errno_location [call site] 00124
3 _cupsRasterNew [function] [call site] 00125
3 cups_write_fd [function] [call site] 00126
4 write [call site] 00127
4 __errno_location [call site] 00128
2 close [call site] 00129
2 cupsRasterReadHeader2 [function] [call site] 00130
3 _cupsRasterReadHeader [function] [call site] 00131
4 cups_raster_read [function] [call site] 00132
5 cups_raster_io [function] [call site] 00133
5 realloc [call site] 00134
4 cups_raster_read [function] [call site] 00135
4 cupsCopyString [function] [call site] 00136
4 cupsCopyString [function] [call site] 00137
4 cupsCopyString [function] [call site] 00138
4 cups_raster_update [function] [call site] 00139
5 _cupsRasterAddError [function] [call site] 00140
5 _cupsRasterAddError [function] [call site] 00141
5 _cupsRasterAddError [function] [call site] 00142
5 _cupsRasterAddError [function] [call site] 00143
5 _cupsRasterAddError [function] [call site] 00144
5 _cupsRasterAddError [function] [call site] 00145
5 _cupsRasterAddError [function] [call site] 00146
5 _cupsRasterAddError [function] [call site] 00147
5 calloc [call site] 00148
5 __errno_location [call site] 00149
5 strerror [call site] 00150
5 _cupsRasterAddError [function] [call site] 00151
2 cupsRasterClose [function] [call site] 00152
3 _cupsRasterDelete [function] [call site] 00153
2 close [call site] 00154
1 unlink [call site] 00155