Fuzz introspector: cmsIT8_load_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
14 14 3 :

['_cmsEnterCriticalSectionPrimitive', '_cmsLeaveCriticalSectionPrimitive', 'InitContextMutex']

14 14 _cmsGetContext call site: 00012 /src/lcms/src/cmsplugin.c:737
2 2 1 :

['strncpy']

2 2 BuildAbsolutePath call site: 00000 /src/lcms/src/cmscgats.c:499
2 2 1 :

['fclose']

2 2 NextCh call site: 00068 /src/lcms/src/cmscgats.c:557
0 32 2 :

['AllocTable', 'SynError']

0 32 cmsIT8SetTable call site: 00254 /src/lcms/src/cmscgats.c:1354
0 30 1 :

['SynError']

0 30 GetTable call site: 00032 /src/lcms/src/cmscgats.c:1098
0 30 1 :

['SynError']

0 30 AddToList call site: 00045 /src/lcms/src/cmscgats.c:1274
0 29 1 :

['_cmsFree']

0 29 AllocBigBlock call site: 00023 /src/lcms/src/cmscgats.c:1149
0 29 1 :

['cmsSignalError']

0 29 WriteStr call site: 00261 /src/lcms/src/cmscgats.c:1720
0 29 1 :

['cmsSignalError']

0 29 _cmsContextGetClientChunk call site: 00007 /src/lcms/src/cmsplugin.c:769
0 6 1 :

['cmsstrcasecmp']

0 6 IsAvailableOnList call site: 00041 /src/lcms/src/cmscgats.c:1234
0 0 None 62 247 WriteDataFormat call site: 00284 /src/lcms/src/cmscgats.c:1847
0 0 None 14 564 WriteHeader call site: 00264 /src/lcms/src/cmscgats.c:1773

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 cmsIT8LoadFromMem [function] [call site] 00001
2 __assert_fail [call site] 00002
2 __assert_fail [call site] 00003
2 IsMyBlock [function] [call site] 00004
2 cmsIT8Alloc [function] [call site] 00005
3 _cmsMallocZero [function] [call site] 00006
4 _cmsContextGetClientChunk [function] [call site] 00007
5 cmsSignalError [function] [call site] 00008
6 vsnprintf [call site] 00009
6 _cmsContextGetClientChunk [function] [call site] 00010
7 __assert_fail [call site] 00011
7 _cmsGetContext [function] [call site] 00012
8 InitContextMutex [function] [call site] 00013
8 _cmsEnterCriticalSectionPrimitive [function] [call site] 00014
9 pthread_mutex_lock [call site] 00015
8 _cmsLeaveCriticalSectionPrimitive [function] [call site] 00016
9 pthread_mutex_unlock [call site] 00017
8 _cmsLeaveCriticalSectionPrimitive [function] [call site] 00018
3 AllocTable [function] [call site] 00019
3 AllocChunk [function] [call site] 00020
4 AllocBigBlock [function] [call site] 00021
5 _cmsMallocZero [function] [call site] 00022
5 _cmsMallocZero [function] [call site] 00023
5 _cmsFree [function] [call site] 00024
6 _cmsContextGetClientChunk [function] [call site] 00025
3 StringAlloc [function] [call site] 00026
4 AllocChunk [function] [call site] 00027
4 AllocChunk [function] [call site] 00028
3 StringAlloc [function] [call site] 00029
3 strcpy [call site] 00030
3 cmsIT8SetSheetType [function] [call site] 00031
4 GetTable [function] [call site] 00032
5 SynError [function] [call site] 00033
6 vsnprintf [call site] 00034
6 snprintf [call site] 00035
6 cmsSignalError [function] [call site] 00036
4 strncpy [call site] 00037
3 AddAvailableProperty [function] [call site] 00038
4 AddToList [function] [call site] 00039
5 IsAvailableOnList [function] [call site] 00040
6 cmsstrcasecmp [function] [call site] 00041
7 toupper [call site] 00042
7 toupper [call site] 00043
6 cmsstrcasecmp [function] [call site] 00044
5 AllocChunk [function] [call site] 00045
5 AllocString [function] [call site] 00047
6 strlen [call site] 00048
6 AllocChunk [function] [call site] 00049
5 AllocString [function] [call site] 00050
5 AllocString [function] [call site] 00051
3 AddAvailableSampleID [function] [call site] 00052
4 AddToList [function] [call site] 00053
2 _cmsMalloc [function] [call site] 00054
3 _cmsContextGetClientChunk [function] [call site] 00055
2 strncpy [call site] 00061
2 strncpy [call site] 00062
2 ParseIT8 [function] [call site] 00063
3 ReadType [function] [call site] 00064
4 isseparator [function] [call site] 00065
4 NextCh [function] [call site] 00066
5 fgetc [call site] 00067
5 feof [call site] 00068
5 fclose [call site] 00069
3 InSymbol [function] [call site] 00071
4 isseparator [function] [call site] 00072
4 isfirstidchar [function] [call site] 00074
5 __ctype_b_loc [call site] 00075
5 ismiddle [function] [call site] 00076
6 isseparator [function] [call site] 00077
4 StringClear [function] [call site] 00078
4 StringAppend [function] [call site] 00079
5 AllocChunk [function] [call site] 00080
4 isidchar [function] [call site] 00082
5 __ctype_b_loc [call site] 00083
4 StringPtr [function] [call site] 00085
4 __ctype_b_loc [call site] 00086
4 toupper [call site] 00089
4 __ctype_b_loc [call site] 00091
4 toupper [call site] 00092
4 toupper [call site] 00095
4 __ctype_b_loc [call site] 00099
4 ReadReal [function] [call site] 00100
5 __ctype_b_loc [call site] 00101
5 __ctype_b_loc [call site] 00104
5 toupper [call site] 00108
5 __ctype_b_loc [call site] 00112
4 snprintf [call site] 00118
4 snprintf [call site] 00119
4 StringCat [function] [call site] 00120
5 StringAppend [function] [call site] 00121
4 StringAppend [function] [call site] 00122
4 InStringSymbol [function] [call site] 00141
4 AllocChunk [function] [call site] 00145
4 StringPtr [function] [call site] 00147
4 fopen [call site] 00149
3 DataSection [function] [call site] 00169
4 CheckEOLN [function] [call site] 00172
4 AllocateDataSet [function] [call site] 00173
5 cmsIT8GetProperty [function] [call site] 00175
5 cmsIT8GetProperty [function] [call site] 00177
5 AllocChunk [function] [call site] 00179
4 StringPtr [function] [call site] 00181
4 StringPtr [function] [call site] 00182
4 GetVal [function] [call site] 00183
5 StringPtr [function] [call site] 00184
5 strncpy [call site] 00185
5 snprintf [call site] 00186
5 snprintf [call site] 00187
5 StringPtr [function] [call site] 00188
5 strncpy [call site] 00189
4 SetData [function] [call site] 00191
5 AllocateDataSet [function] [call site] 00193
5 AllocString [function] [call site] 00196
3 AllocTable [function] [call site] 00203
3 isseparator [function] [call site] 00204
3 StringPtr [function] [call site] 00206
3 cmsIT8SetSheetType [function] [call site] 00208
3 StringPtr [function] [call site] 00209
3 HeaderSection [function] [call site] 00212
4 AddAvailableProperty [function] [call site] 00215
4 AddAvailableSampleID [function] [call site] 00219
4 StringPtr [function] [call site] 00221
4 strncpy [call site] 00222
4 IsAvailableOnList [function] [call site] 00223
4 AddAvailableProperty [function] [call site] 00224
4 strchr [call site] 00229
4 strrchr [call site] 00230
4 strlen [call site] 00232
4 strspn [call site] 00233
4 strspn [call site] 00234
2 cmsIT8Free [function] [call site] 00240
2 CookPointers [function] [call site] 00241
3 cmsstrcasecmp [function] [call site] 00243
3 cmsstrcasecmp [function] [call site] 00244
3 IsAvailableOnList [function] [call site] 00247
3 snprintf [call site] 00248
1 getpid [call site] 00251
1 cmsIT8SaveToFile [function] [call site] 00252
2 fopen [call site] 00253
2 cmsIT8SetTable [function] [call site] 00254
2 WriteHeader [function] [call site] 00257
3 WriteStr [function] [call site] 00259
4 strlen [call site] 00260
4 fwrite [call site] 00261
4 cmsSignalError [function] [call site] 00262
4 cmsSignalError [function] [call site] 00263
3 Writef [function] [call site] 00266
4 vsnprintf [call site] 00267
3 IsAvailableOnList [function] [call site] 00271
3 AddAvailableProperty [function] [call site] 00272
2 WriteDataFormat [function] [call site] 00283
2 fclose [call site] 00304
1 cmsIT8Free [function] [call site] 00305