Fuzz introspector: decimal_to_int64_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 :

['decSetMaxValue']

2 2 decSetOverflow call site: 00016 /src/tarantool/third_party/decNumber/decNumber.c:7482
0 121 1 :

['decSetSubnormal']

0 192 decFinalize call site: 00021 /src/tarantool/third_party/decNumber/decNumber.c:7407
0 0 None 0 44 decCompare call site: 00021 /src/tarantool/third_party/decNumber/decNumber.c:6281
0 0 None 0 44 decCompare call site: 00021 /src/tarantool/third_party/decNumber/decNumber.c:6306
0 0 1 :

['malloc']

0 24 decUnitCompare call site: 00022 /src/tarantool/third_party/decNumber/decNumber.c:6371
0 0 None 0 24 decApplyRound call site: 00014 /src/tarantool/third_party/decNumber/decNumber.c:7260
0 0 None 0 12 decFinalize call site: 00027 /src/tarantool/third_party/decNumber/decNumber.c:7427
0 0 None 0 0 decUnitAddSub call site: 00018 /src/tarantool/third_party/decNumber/decNumber.c:6464
0 0 None 0 0 decUnitAddSub call site: 00018 /src/tarantool/third_party/decNumber/decNumber.c:6469
0 0 None 0 0 decUnitAddSub call site: 00018 /src/tarantool/third_party/decNumber/decNumber.c:6473
0 0 None 0 0 decUnitAddSub call site: 00018 /src/tarantool/third_party/decNumber/decNumber.c:6513
0 0 None 0 0 decUnitAddSub call site: 00018 /src/tarantool/third_party/decNumber/decNumber.c:6565

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 calloc [call site] 00001
1 alloc_failure [function] [call site] 00002
2 fprintf [call site] 00003
2 exit [call site] 00004
1 decimal_from_string [function] [call site] 00005
2 decNumberFromString [function] [call site] 00006
3 decNumberZero [function] [call site] 00007
3 decSetCoeff [function] [call site] 00010
3 decFinalize [function] [call site] 00011
4 decSetSubnormal [function] [call site] 00012
5 decSetCoeff [function] [call site] 00013
5 decApplyRound [function] [call site] 00014
6 decSetOverflow [function] [call site] 00015
7 decNumberZero [function] [call site] 00016
7 decSetMaxValue [function] [call site] 00017
6 decUnitAddSub [function] [call site] 00018
5 decShiftToMost [function] [call site] 00019
4 decNumberZero [function] [call site] 00020
4 decCompare [function] [call site] 00021
5 decUnitCompare [function] [call site] 00022
6 decUnitAddSub [function] [call site] 00023
4 decApplyRound [function] [call site] 00024
4 decSetSubnormal [function] [call site] 00025
4 decApplyRound [function] [call site] 00026
4 decSetOverflow [function] [call site] 00027
4 decShiftToMost [function] [call site] 00028
3 decFinalize [function] [call site] 00029
3 decStatus [function] [call site] 00030
4 decNumberZero [function] [call site] 00031
4 decContextSetStatus [function] [call site] 00032
5 raise [call site] 00033
2 decContextZeroStatus [function] [call site] 00034
2 decimal_check_status [function] [call site] 00035
3 decContextGetStatus [function] [call site] 00036
3 decContextZeroStatus [function] [call site] 00037