Fuzz introspector: cgif_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
2 2 1 :

['fopen64']

6 31 cgif_newgif call site: 00009 /src/cgif/build/../src/cgif.c:83
2 2 1 :

['fclose']

2 9 cgif_close call site: 00067 /src/cgif/build/../src/cgif.c:504
2 2 1 :

['fclose']

2 5 cgif_newgif call site: 00012 /src/cgif/build/../src/cgif.c:122
2 2 1 :

['fwrite']

2 2 writecb call site: 00000 /src/cgif/build/../src/cgif.c:53
0 0 None 2 2 cgif_newgif call site: 00010 /src/cgif/build/../src/cgif.c:91
0 0 None 0 15 cgif_raw_newgif call site: 00012 /src/cgif/build/../src/cgif_raw.c:432
0 0 1 :

['free']

0 0 cgif_raw_newgif call site: 00019 /src/cgif/build/../src/cgif_raw.c:458
0 0 None 0 0 cgif_raw_addframe call site: 00049 /src/cgif/build/../src/cgif_raw.c:531
0 0 None 0 0 cgif_raw_addframe call site: 00061 /src/cgif/build/../src/cgif_raw.c:602
0 0 None 0 0 hU16toLE call site: 00014 /src/cgif/build/../src/cgif_raw.c:63

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 processInput(ByteStream*) [function] [call site] 00001
2 read_gifconfig(ByteStream*, st_gifconfig*) [function] [call site] 00002
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00003
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00004
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00005
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00006
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00007
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00008
2 cgif_newgif [function] [call site] 00009
3 fopen64 [call site] 00010
3 fclose [call site] 00011
3 cgif_raw_newgif [function] [call site] 00012
4 initMainHeader [function] [call site] 00013
5 calcNextPower2Ex [function] [call site] 00016
4 calcNextPower2Ex [function] [call site] 00017
4 writeDummyBytes [function] [call site] 00018
4 initAppExtBlock [function] [call site] 00019
3 fclose [call site] 00021
2 read_frameconfig(ByteStream*, st_frameconfig*, unsigned long) [function] [call site] 00023
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00024
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00025
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00026
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00027
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00028
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00029
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00030
2 cgif_addframe [function] [call site] 00031
3 cmpPixel [function] [call site] 00032
4 memcmp [call site] 00033
3 flushFrame [function] [call site] 00034
4 doWidthHeightOptim [function] [call site] 00035
4 calcNextPower2Ex [function] [call site] 00040
4 cgif_raw_addframe [function] [call site] 00042
5 calcNextPower2Ex [function] [call site] 00043
5 calcInitCodeLen [function] [call site] 00044
6 calcNextPower2Ex [function] [call site] 00045
5 LZW_GenerateStream [function] [call site] 00050
6 lzw_generate [function] [call site] 00051
7 resetDict [function] [call site] 00052
7 lzw_crawl_tree [function] [call site] 00053
6 create_byte_list [function] [call site] 00057
6 create_byte_list_block [function] [call site] 00058
5 LZW_GenerateStream [function] [call site] 00059
5 writeDummyBytes [function] [call site] 00061
3 freeFrame [function] [call site] 00062
3 copyFrameConfig [function] [call site] 00063
2 read_frameconfig(ByteStream*, st_frameconfig*, unsigned long) [function] [call site] 00064
2 cgif_close [function] [call site] 00065
3 flushFrame [function] [call site] 00066
3 cgif_raw_close [function] [call site] 00067
3 fclose [call site] 00068
3 freeFrame [function] [call site] 00069