Fuzz introspector: pffft_real_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
29 29 2 :

['pffft_cplx_finalize(int, float __vector(4) const*, float __vector(4)*, float __vector(4) const*)', 'cfftf1_ps(int, float __vector(4) const*, float __vector(4)*, float __vector(4)*, float const*, int const*, int)']

29 44 pffft_transform_internal(PFFFT_Setup*,floatconst*,float*,float__vector(4)*,pffft_direction_t,int) call site: 00000 /src/pffft/pffft.c:1628
29 29 2 :

['pffft_cplx_preprocess(int, float __vector(4) const*, float __vector(4)*, float __vector(4) const*)', 'cfftf1_ps(int, float __vector(4) const*, float __vector(4)*, float __vector(4)*, float const*, int const*, int)']

29 29 pffft_transform_internal(PFFFT_Setup*,floatconst*,float*,float__vector(4)*,pffft_direction_t,int) call site: 00000 /src/pffft/pffft.c:1652
21 21 1 :

['cffti1_ps(int, float*, int*)']

29 34 pffft_new_setup call site: 00009 /src/pffft/pffft.c:1227
4 4 1 :

['reversed_copy(int, float __vector(4) const*, int, float __vector(4)*)']

4 4 pffft_zreorder call site: 00050 /src/pffft/pffft.c:1309
0 15 1 :

['pffft_zreorder']

0 15 pffft_transform_internal(PFFFT_Setup*,floatconst*,float*,float__vector(4)*,pffft_direction_t,int) call site: 00000 /src/pffft/pffft.c:1641
0 0 None 29 83 pffft_transform_internal(PFFFT_Setup*,floatconst*,float*,float__vector(4)*,pffft_direction_t,int) call site: 00000 /src/pffft/pffft.c:1645
0 0 None 0 0 pffft_zreorder call site: 00050 /src/pffft/pffft.c:1307
0 0 None 0 0 pffft_transform_internal(PFFFT_Setup*,floatconst*,float*,float__vector(4)*,pffft_direction_t,int) call site: 00000 /src/pffft/pffft.c:1666

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 (anonymous namespace)::IsValidSize(unsigned long) [function] [call site] 00001
1 __assert_fail [call site] 00002
1 (anonymous namespace)::AllocatePffftBuffer(unsigned long) [function] [call site] 00003
2 pffft_aligned_malloc [function] [call site] 00004
1 (anonymous namespace)::AllocatePffftBuffer(unsigned long) [function] [call site] 00005
1 pffft_new_setup [function] [call site] 00006
2 __assert_fail [call site] 00007
2 __assert_fail [call site] 00008
2 pffft_aligned_malloc [function] [call site] 00009
2 cos(float) [function] [call site] 00010
3 cosf [call site] 00011
2 sin(float) [function] [call site] 00012
3 sinf [call site] 00013
2 rffti1_ps(int, float*, int*) [function] [call site] 00014
3 decompose(int, int*, int const*) [function] [call site] 00015
3 cos(float) [function] [call site] 00016
3 sin(float) [function] [call site] 00017
2 cos(float) [function] [call site] 00018
2 sin(float) [function] [call site] 00019
2 cffti1_ps(int, float*, int*) [function] [call site] 00020
3 decompose(int, int*, int const*) [function] [call site] 00021
3 cos(float) [function] [call site] 00022
3 sin(float) [function] [call site] 00023
2 pffft_destroy_setup [function] [call site] 00024
3 pffft_aligned_free [function] [call site] 00025
1 pffft_transform [function] [call site] 00026
2 pffft_transform_internal(PFFFT_Setup*, float const*, float*, float __vector(4)*, pffft_direction_t, int) [function] [call site] 00027
3 __assert_fail [call site] 00028
3 rfftf1_ps(int, float __vector(4) const*, float __vector(4)*, float __vector(4)*, float const*, int const*) [function] [call site] 00029
4 __assert_fail [call site] 00030
4 radf5_ps(int, int, float __vector(4) const*, float __vector(4)*, float const*, float const*, float const*, float const*) [function] [call site] 00031
4 radf4_ps(int, int, float __vector(4) const*, float __vector(4)*, float const*, float const*, float const*) [function] [call site] 00032
4 radf3_ps(int, int, float __vector(4) const*, float __vector(4)*, float const*, float const*) [function] [call site] 00033
4 radf2_ps(int, int, float __vector(4) const*, float __vector(4)*, float const*) [function] [call site] 00034
4 __assert_fail [call site] 00035
3 pffft_real_finalize(int, float __vector(4) const*, float __vector(4)*, float __vector(4) const*) [function] [call site] 00036
4 __assert_fail [call site] 00037
3 cfftf1_ps(int, float __vector(4) const*, float __vector(4)*, float __vector(4)*, float const*, int const*, int) [function] [call site] 00038
4 __assert_fail [call site] 00039
4 passf5_ps(int, int, float __vector(4) const*, float __vector(4)*, float const*, float const*, float const*, float const*, float) [function] [call site] 00040
5 __assert_fail [call site] 00041
4 passf4_ps(int, int, float __vector(4) const*, float __vector(4)*, float const*, float const*, float const*, float) [function] [call site] 00042
4 passf2_ps(int, int, float __vector(4) const*, float __vector(4)*, float const*, float) [function] [call site] 00043
4 passf3_ps(int, int, float __vector(4) const*, float __vector(4)*, float const*, float const*, float) [function] [call site] 00044
5 __assert_fail [call site] 00045
4 __assert_fail [call site] 00046
3 pffft_cplx_finalize(int, float __vector(4) const*, float __vector(4)*, float __vector(4) const*) [function] [call site] 00047
4 __assert_fail [call site] 00048
3 pffft_zreorder [function] [call site] 00049
4 __assert_fail [call site] 00050
4 reversed_copy(int, float __vector(4) const*, int, float __vector(4)*) [function] [call site] 00051
4 reversed_copy(int, float __vector(4) const*, int, float __vector(4)*) [function] [call site] 00052
4 unreversed_copy(int, float __vector(4) const*, float __vector(4)*, int) [function] [call site] 00053
4 unreversed_copy(int, float __vector(4) const*, float __vector(4)*, int) [function] [call site] 00054
3 pffft_zreorder [function] [call site] 00055
3 pffft_real_preprocess(int, float __vector(4) const*, float __vector(4)*, float __vector(4) const*) [function] [call site] 00056
4 __assert_fail [call site] 00057
3 rfftb1_ps(int, float __vector(4) const*, float __vector(4)*, float __vector(4)*, float const*, int const*) [function] [call site] 00058
4 __assert_fail [call site] 00059
4 radb5_ps(int, int, float __vector(4) const*, float __vector(4)*, float const*, float const*, float const*, float const*) [function] [call site] 00060
4 radb4_ps(int, int, float __vector(4) const*, float __vector(4)*, float const*, float const*, float const*) [function] [call site] 00061
4 radb3_ps(int, int, float __vector(4) const*, float __vector(4)*, float const*, float const*) [function] [call site] 00062
4 radb2_ps(int, int, float __vector(4) const*, float __vector(4)*, float const*) [function] [call site] 00063
4 __assert_fail [call site] 00064
3 pffft_cplx_preprocess(int, float __vector(4) const*, float __vector(4)*, float __vector(4) const*) [function] [call site] 00065
4 __assert_fail [call site] 00066
3 cfftf1_ps(int, float __vector(4) const*, float __vector(4)*, float __vector(4)*, float const*, int const*, int) [function] [call site] 00067
3 __assert_fail [call site] 00068
3 __assert_fail [call site] 00069
1 pffft_zconvolve_accumulate [function] [call site] 00070
2 __assert_fail [call site] 00071
1 pffft_transform_ordered [function] [call site] 00072
2 pffft_transform_internal(PFFFT_Setup*, float const*, float*, float __vector(4)*, pffft_direction_t, int) [function] [call site] 00073
1 pffft_aligned_free [function] [call site] 00074
1 pffft_aligned_free [function] [call site] 00075
1 pffft_destroy_setup [function] [call site] 00076