Fuzz introspector: cgif_file_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
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 None 0 7 cgif_close call site: 00074 /src/cgif/build/../src/cgif.c:608
0 0 None 0 0 cgif_newgif call site: 00010 /src/cgif/build/../src/cgif.c:85
0 0 None 0 0 writecb call site: 00000 /src/cgif/build/../src/cgif.c:55
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: 00055 /src/cgif/build/../src/cgif_raw.c:531
0 0 None 0 0 cgif_raw_addframe call site: 00067 /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 unlink [call site] 00023
2 read_frameconfig(ByteStream*, st_frameconfig*, 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
3 readdata(ByteStream*, void*, unsigned long) [function] [call site] 00031
2 cgif_addframe [function] [call site] 00032
3 memcmp [call site] 00033
3 cmpPixel [function] [call site] 00034
4 memcmp [call site] 00035
3 flushFrame [function] [call site] 00036
4 doWidthHeightOptim [function] [call site] 00037
5 getDiffAreaGlobalPalette [function] [call site] 00038
6 memcmp [call site] 00039
6 memcmp [call site] 00040
4 calcNextPower2Ex [function] [call site] 00046
4 cgif_raw_addframe [function] [call site] 00048
5 calcNextPower2Ex [function] [call site] 00049
5 calcInitCodeLen [function] [call site] 00050
6 calcNextPower2Ex [function] [call site] 00051
5 LZW_GenerateStream [function] [call site] 00056
6 lzw_generate [function] [call site] 00057
7 resetDict [function] [call site] 00058
7 lzw_crawl_tree [function] [call site] 00059
6 create_byte_list [function] [call site] 00063
6 create_byte_list_block [function] [call site] 00064
5 LZW_GenerateStream [function] [call site] 00065
5 writeDummyBytes [function] [call site] 00067
3 freeFrame [function] [call site] 00068
3 copyFrameConfig [function] [call site] 00069
2 read_frameconfig(ByteStream*, st_frameconfig*, unsigned long) [function] [call site] 00070
2 cgif_close [function] [call site] 00071
3 flushFrame [function] [call site] 00072
3 cgif_raw_close [function] [call site] 00073
3 fclose [call site] 00074
3 freeFrame [function] [call site] 00075
2 unlink [call site] 00077