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 :

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

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

['strncpy']

2 2 BuildAbsolutePath call site: 00162 /src/lcms/src/cmscgats.c:540
2 2 1 :

['fclose']

2 2 NextCh call site: 00071 /src/lcms/src/cmscgats.c:598
0 62 2 :

['SynError', 'AllocTable']

0 62 cmsIT8SetTable call site: 00292 /src/lcms/src/cmscgats.c:1426
0 30 1 :

['SynError']

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

['SynError']

0 30 AddToList call site: 00048 /src/lcms/src/cmscgats.c:1342
0 30 1 :

['SynError']

0 30 SetData call site: 00216 /src/lcms/src/cmscgats.c:1776
0 30 1 :

['SynError']

0 30 AllocateDataFormat call site: 00188 /src/lcms/src/cmscgats.c:1644
0 29 1 :

['_cmsFree']

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

['cmsSignalError']

0 26 WriteStr call site: 00301 /src/lcms/src/cmscgats.c:1809
0 26 1 :

['cmsSignalError']

0 26 _cmsContextGetClientChunk call site: 00007 /src/lcms/src/cmsplugin.c:752
0 6 1 :

['cmsstrcasecmp']

0 6 IsAvailableOnList call site: 00041 /src/lcms/src/cmscgats.c:1297

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 cmsstrcasecmp [function] [call site] 00045
5 cmsstrcasecmp [function] [call site] 00046
5 AllocChunk [function] [call site] 00048
5 AllocString [function] [call site] 00050
6 strlen [call site] 00051
6 AllocChunk [function] [call site] 00052
5 AllocString [function] [call site] 00053
5 AllocString [function] [call site] 00054
3 AddAvailableSampleID [function] [call site] 00055
4 AddToList [function] [call site] 00056
2 _cmsMalloc [function] [call site] 00057
3 _cmsContextGetClientChunk [function] [call site] 00058
2 strncpy [call site] 00064
2 strncpy [call site] 00065
2 ParseIT8 [function] [call site] 00066
3 ReadType [function] [call site] 00067
4 isseparator [function] [call site] 00068
4 NextCh [function] [call site] 00069
5 fgetc [call site] 00070
5 feof [call site] 00071
5 fclose [call site] 00072
3 InSymbol [function] [call site] 00074
4 isseparator [function] [call site] 00075
4 isfirstidchar [function] [call site] 00077
5 __ctype_b_loc [call site] 00078
5 ismiddle [function] [call site] 00079
6 isseparator [function] [call site] 00080
4 StringClear [function] [call site] 00081
4 StringAppend [function] [call site] 00082
5 AllocChunk [function] [call site] 00083
4 isidchar [function] [call site] 00086
5 __ctype_b_loc [call site] 00087
4 StringPtr [function] [call site] 00089
4 BinSrchKey [function] [call site] 00090
5 cmsstrcasecmp [function] [call site] 00091
4 __ctype_b_loc [call site] 00092
4 toupper [call site] 00095
4 __ctype_b_loc [call site] 00097
4 toupper [call site] 00098
4 toupper [call site] 00101
4 __ctype_b_loc [call site] 00105
4 ReadReal [function] [call site] 00106
5 __ctype_b_loc [call site] 00107
5 __ctype_b_loc [call site] 00110
5 toupper [call site] 00114
5 __ctype_b_loc [call site] 00118
4 snprintf [call site] 00124
4 snprintf [call site] 00125
4 StringClear [function] [call site] 00126
4 StringCat [function] [call site] 00127
5 StringAppend [function] [call site] 00128
4 StringAppend [function] [call site] 00130
4 InStringSymbol [function] [call site] 00151
4 AllocChunk [function] [call site] 00156
4 StringPtr [function] [call site] 00158
4 BuildAbsolutePath [function] [call site] 00159
5 isabsolutepath [function] [call site] 00160
6 strncpy [call site] 00161
5 strrchr [call site] 00162
5 strncpy [call site] 00163
4 fopen [call site] 00165
3 DataSection [function] [call site] 00199
4 CheckEOLN [function] [call site] 00202
4 AllocateDataSet [function] [call site] 00203
5 cmsIT8GetProperty [function] [call site] 00205
5 cmsIT8GetProperty [function] [call site] 00207
5 AllocChunk [function] [call site] 00210
4 StringPtr [function] [call site] 00212
4 SetData [function] [call site] 00213
5 AllocateDataSet [function] [call site] 00215
5 AllocString [function] [call site] 00218
4 StringPtr [function] [call site] 00219
4 GetVal [function] [call site] 00221
5 StringPtr [function] [call site] 00222
5 strncpy [call site] 00223
5 snprintf [call site] 00224
5 snprintf [call site] 00225
5 StringPtr [function] [call site] 00226
5 strncpy [call site] 00227
3 AllocTable [function] [call site] 00236
3 isseparator [function] [call site] 00237
3 StringPtr [function] [call site] 00239
3 cmsIT8SetSheetType [function] [call site] 00240
3 cmsIT8SetSheetType [function] [call site] 00242
3 StringPtr [function] [call site] 00243
3 cmsIT8SetSheetType [function] [call site] 00244
3 HeaderSection [function] [call site] 00247
4 AddAvailableProperty [function] [call site] 00250
4 AddAvailableSampleID [function] [call site] 00254
4 StringPtr [function] [call site] 00256
4 strncpy [call site] 00257
4 IsAvailableOnList [function] [call site] 00258
4 AddAvailableProperty [function] [call site] 00259
4 AddToList [function] [call site] 00263
4 strchr [call site] 00265
4 strrchr [call site] 00266
4 strlen [call site] 00268
4 strspn [call site] 00269
4 strspn [call site] 00270
4 AddToList [function] [call site] 00273
2 cmsIT8Free [function] [call site] 00277
2 CookPointers [function] [call site] 00278
3 cmsstrcasecmp [function] [call site] 00280
3 cmsstrcasecmp [function] [call site] 00281
3 IsAvailableOnList [function] [call site] 00284
3 snprintf [call site] 00285
1 getpid [call site] 00288
1 sprintf [call site] 00289
1 cmsIT8SaveToFile [function] [call site] 00290
2 fopen [call site] 00291
2 cmsIT8SetTable [function] [call site] 00292
2 WriteHeader [function] [call site] 00297
3 WriteStr [function] [call site] 00299
4 strlen [call site] 00300
4 fwrite [call site] 00301
4 cmsSignalError [function] [call site] 00302
4 cmsSignalError [function] [call site] 00303
3 Writef [function] [call site] 00306
4 vsnprintf [call site] 00307
3 IsAvailableOnList [function] [call site] 00311
3 AddAvailableProperty [function] [call site] 00312
2 fclose [call site] 00347
2 fclose [call site] 00348
1 cmsIT8Free [function] [call site] 00349