Fuzz introspector: libpsl_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
0 0 None 26 183 psl_load_fp call site: 00002 /src/libpsl/src/psl.c:1192
0 0 None 24 181 psl_load_fp call site: 00003 /src/libpsl/src/psl.c:1195
0 0 None 10 187 is_public_suffix call site: 00049 /src/libpsl/src/psl.c:849
0 0 None 8 116 is_public_suffix call site: 00051 /src/libpsl/src/psl.c:864
0 0 None 6 18 psl_load_fp call site: 00006 /src/libpsl/src/psl.c:1212
0 0 None 6 18 psl_load_fp call site: 00008 /src/libpsl/src/psl.c:1220
0 0 None 4 190 psl_load_file call site: 00081 /src/libpsl/src/psl.c:1160
0 0 None 2 2 vector_add call site: 00023 /src/libpsl/src/psl.c:254
0 0 None 0 0 is_public_suffix call site: 00049 /src/libpsl/src/psl.c:841
0 0 None 0 0 is_public_suffix call site: 00054 /src/libpsl/src/psl.c:886
0 0 None 0 0 is_public_suffix call site: 00072 /src/libpsl/src/psl.c:906
0 0 None 0 0 is_public_suffix call site: 00074 /src/libpsl/src/psl.c:925

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 fmemopen [call site] 00001
1 psl_load_fp [function] [call site] 00002
2 calloc [call site] 00003
2 fgets [call site] 00004
2 strlen [call site] 00005
2 atoi [call site] 00006
2 fread [call site] 00007
2 realloc [call site] 00008
2 realloc [call site] 00009
2 GetUtfMode [function] [call site] 00010
2 psl_idna_open [function] [call site] 00011
2 vector_alloc [function] [call site] 00012
3 calloc [call site] 00013
2 isspace_ascii [function] [call site] 00014
2 strstr [call site] 00015
2 strstr [call site] 00016
2 strstr [call site] 00017
2 strstr [call site] 00018
2 isspace_ascii [function] [call site] 00019
2 suffix_init [function] [call site] 00020
2 vector_find [function] [call site] 00021
2 vector_get [function] [call site] 00022
2 vector_add [function] [call site] 00023
3 realloc [call site] 00024
2 add_punycode_if_needed [function] [call site] 00025
3 str_is_ascii [function] [call site] 00026
3 psl_idna_toASCII [function] [call site] 00027
4 domain_to_punycode [function] [call site] 00028
5 strchr [call site] 00029
5 strlen [call site] 00030
5 mem_is_ascii [function] [call site] 00031
5 utf8_to_utf32 [function] [call site] 00032
5 punycode_encode [function] [call site] 00033
6 encode_digit [function] [call site] 00034
6 encode_digit [function] [call site] 00035
4 strdup [call site] 00037
3 strcmp [call site] 00038
3 strlen [call site] 00039
3 suffix_init [function] [call site] 00040
3 vector_add [function] [call site] 00041
2 fgets [call site] 00042
2 vector_sort [function] [call site] 00043
3 qsort [call site] 00044
2 psl_idna_close [function] [call site] 00045
2 psl_free [function] [call site] 00046
3 vector_free [function] [call site] 00047
1 psl_is_public_suffix [function] [call site] 00048
2 is_public_suffix [function] [call site] 00049
3 psl_idna_open [function] [call site] 00050
3 psl_idna_toASCII [function] [call site] 00051
3 strlen [call site] 00052
3 psl_idna_close [function] [call site] 00053
3 LookupStringInFixedSet [function] [call site] 00054
4 GetNextOffset [function] [call site] 00055
4 IsMatch [function] [call site] 00057
5 IsMatchUnchecked [function] [call site] 00058
6 GetMultibyteLength [function] [call site] 00059
4 NextPos [function] [call site] 00060
5 GetMultibyteLength [function] [call site] 00061
5 GetMultibyteLength [function] [call site] 00062
4 GetReturnValue [function] [call site] 00066
4 IsEndCharMatch [function] [call site] 00067
5 IsMatchUnchecked [function] [call site] 00068
3 strchr [call site] 00070
3 strlen [call site] 00071
3 LookupStringInFixedSet [function] [call site] 00072
3 vector_get [function] [call site] 00073
3 vector_find [function] [call site] 00074
3 strchr [call site] 00075
3 strlen [call site] 00076
3 vector_find [function] [call site] 00077
1 psl_is_public_suffix [function] [call site] 00078
1 fclose [call site] 00080
1 psl_load_file [function] [call site] 00081
2 fopen [call site] 00082
2 psl_load_fp [function] [call site] 00083
2 fclose [call site] 00084