Fuzz introspector: fftw3_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
4 4 1 :

['log']

4 4 timelimit_to_flags call site: 00098 /src/fftw3/api/mapflags.c:65
0 69 1 :

['search0']

0 69 search call site: 00000 /src/fftw3/kernel/planner.c:607
0 16 1 :

['mkplan0']

0 91 fftw_mkapiplan call site: 00073 /src/fftw3/api/apiplan.c:102
0 3 1 :

['fftw_problem_destroy']

0 3 fftw_mkapiplan call site: 00107 /src/fftw3/api/apiplan.c:139
0 0 None 8 10 fftw_malloc_plain call site: 00010 /src/fftw3/kernel/alloc.c:26
0 0 None 0 227 fftw_mkapiplan call site: 00072 /src/fftw3/api/apiplan.c:97
0 0 None 0 130 fftw_mkapiplan call site: 00102 /src/fftw3/api/apiplan.c:126
0 0 None 0 121 fftw_mkproblem_dft call site: 00021 /src/fftw3/dft/problem.c:97
0 0 None 0 24 fftw_tensor_append call site: 00022 /src/fftw3/kernel/tensor5.c:84
0 0 None 0 17 fftw_destroy_plan call site: 00115 /src/fftw3/api/apiplan.c:197
0 0 None 0 8 fftw_nbuf call site: 00000 /src/fftw3/kernel/buffered.c:34
0 0 None 0 6 fftw_dimcmp call site: 00053 /src/fftw3/kernel/tensor7.c:43

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 fftw_plan_dft_1d [function] [call site] 00001
2 fftw_plan_dft [function] [call site] 00002
3 fftw_plan_many_dft [function] [call site] 00003
4 fftw_many_kosherp [function] [call site] 00004
5 rowmajor_kosherp [function] [call site] 00005
4 fftw_extract_reim [function] [call site] 00006
4 fftw_extract_reim [function] [call site] 00007
4 fftw_mktensor_rowmajor [function] [call site] 00008
5 fftw_mktensor [function] [call site] 00009
6 fftw_malloc_plain [function] [call site] 00010
7 fftw_kernel_malloc [function] [call site] 00011
7 fftw_assertion_failed [function] [call site] 00012
8 fflush [call site] 00013
8 fprintf [call site] 00014
8 abort [call site] 00015
6 fftw_malloc_plain [function] [call site] 00016
4 fftw_mktensor_1d [function] [call site] 00017
5 fftw_mktensor [function] [call site] 00018
4 fftw_mkproblem_dft_d [function] [call site] 00019
5 fftw_mkproblem_dft [function] [call site] 00020
6 fftw_tensor_inplace_locations [function] [call site] 00021
7 fftw_tensor_append [function] [call site] 00022
8 fftw_mktensor [function] [call site] 00023
8 fftw_mktensor [function] [call site] 00024
7 fftw_tensor_copy_inplace [function] [call site] 00027
8 fftw_tensor_copy [function] [call site] 00028
9 fftw_mktensor [function] [call site] 00029
7 fftw_tensor_copy_inplace [function] [call site] 00031
7 fftw_tensor_compress_contiguous [function] [call site] 00032
8 fftw_tensor_sz [function] [call site] 00033
8 fftw_mktensor [function] [call site] 00034
8 really_compress [function] [call site] 00035
9 fftw_mktensor [function] [call site] 00036
8 qsort [call site] 00037
8 compare_by_istride [function] [call site] 00038
8 strides_contig [function] [call site] 00041
8 fftw_mktensor [function] [call site] 00042
8 strides_contig [function] [call site] 00043
8 fftw_tensor_destroy [function] [call site] 00044
9 fftw_ifree [function] [call site] 00045
10 fftw_kernel_free [function] [call site] 00046
7 fftw_tensor_compress_contiguous [function] [call site] 00057
7 fftw_tensor_equal [function] [call site] 00058
7 fftw_tensor_destroy [function] [call site] 00059
7 fftw_tensor_destroy4 [function] [call site] 00060
8 fftw_tensor_destroy2 [function] [call site] 00061
9 fftw_tensor_destroy [function] [call site] 00062
8 fftw_tensor_destroy2 [function] [call site] 00063
6 fftw_mkproblem_unsolvable [function] [call site] 00064
6 fftw_mkproblem [function] [call site] 00065
7 fftw_malloc_plain [function] [call site] 00066
6 fftw_tensor_compress [function] [call site] 00067
7 really_compress [function] [call site] 00068
7 canonicalize [function] [call site] 00069
6 fftw_tensor_compress_contiguous [function] [call site] 00070
5 fftw_tensor_destroy2 [function] [call site] 00071
4 fftw_mkapiplan [function] [call site] 00072
5 fftw_the_planner [function] [call site] 00073
6 fftw_configure_planner [function] [call site] 00082
7 fftw_dft_conf_standard [function] [call site] 00083
8 fftw_solvtab_exec [function] [call site] 00084
8 fftw_solvtab_exec [function] [call site] 00085
7 fftw_rdft_conf_standard [function] [call site] 00086
8 fftw_solvtab_exec [function] [call site] 00087
8 fftw_solvtab_exec [function] [call site] 00088
8 fftw_solvtab_exec [function] [call site] 00089
8 fftw_solvtab_exec [function] [call site] 00090
7 fftw_reodft_conf_standard [function] [call site] 00091
8 fftw_solvtab_exec [function] [call site] 00092
5 mkplan0 [function] [call site] 00093
6 fftw_mapflags [function] [call site] 00094
7 map_flags [function] [call site] 00095
7 map_flags [function] [call site] 00096
7 map_flags [function] [call site] 00097
7 timelimit_to_flags [function] [call site] 00098
8 log [call site] 00099
5 fftw_get_crude_time [function] [call site] 00100
6 gettimeofday [call site] 00101
5 mkplan [function] [call site] 00102
6 force_estimator [function] [call site] 00104
6 force_estimator [function] [call site] 00106
5 fftw_plan_destroy_internal [function] [call site] 00107
6 fftw_ifree [function] [call site] 00108
5 fftw_malloc_plain [function] [call site] 00109
5 fftw_plan_awake [function] [call site] 00111
5 fftw_plan_destroy_internal [function] [call site] 00112
5 fftw_problem_destroy [function] [call site] 00113
1 fftw_execute [function] [call site] 00114
1 fftw_destroy_plan [function] [call site] 00115
2 fftw_plan_awake [function] [call site] 00116
2 fftw_plan_destroy_internal [function] [call site] 00117
2 fftw_problem_destroy [function] [call site] 00118
2 fftw_ifree [function] [call site] 00119