Fuzz introspector: from_chars
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 16 2 :

['fast_float::span ::operator[](unsigned long) const', 'bool fast_float::small_mul<(unsigned short)62>(fast_float::stackvec<(unsigned short)62>&, unsigned long)']

0 16 boolfast_float::large_mul<(unsignedshort)62>(fast_float::stackvec<(unsignedshort)62>&,fast_float::span ) call site: 00000 /src/fast_float/include/fast_float/bigint.h:365
0 0 None 8 88 voidfast_float::parse_mantissa (fast_float::bigint&,fast_float::parsed_number_string_t &,unsignedlong,unsignedlong&) call site: 00000 /src/fast_float/include/fast_float/digit_comparison.h:275
0 0 None 4 76 voidfast_float::parse_mantissa (fast_float::bigint&,fast_float::parsed_number_string_t &,unsignedlong,unsignedlong&) call site: 00000 /src/fast_float/include/fast_float/digit_comparison.h:310
0 0 None 0 2 fast_float::stackvec<(unsignedshort)62>::resize_unchecked(unsignedlong,unsignedlong) call site: 00000 /src/fast_float/include/fast_float/bigint.h:119
0 0 None 0 0 fast_float::stackvec<(unsignedshort)62>::try_push(unsignedlong) call site: 00000 /src/fast_float/include/fast_float/bigint.h:92
0 0 None 0 0 fast_float::stackvec<(unsignedshort)62>::try_extend(fast_float::span ) call site: 00000 /src/fast_float/include/fast_float/bigint.h:107
0 0 None 0 0 fast_float::stackvec<(unsignedshort)62>::try_resize(unsignedlong,unsignedlong) call site: 00000 /src/fast_float/include/fast_float/bigint.h:131
0 0 None 0 0 fast_float::bigint::shl_limbs(unsignedlong) call site: 00000 /src/fast_float/include/fast_float/bigint.h:511
0 0 None 0 0 fast_float::bigint::shl_limbs(unsignedlong) call site: 00000 /src/fast_float/include/fast_float/bigint.h:513
0 0 None 0 0 fast_float::bigint::hi64(bool&)const call site: 00000 /src/fast_float/include/fast_float/bigint.h:432
0 0 None 0 0 fast_float::bigint::ctlz()const call site: 00000 /src/fast_float/include/fast_float/bigint.h:544
0 0 None 0 0 fast_float::bigint::compare(fast_float::bigintconst&)const call site: 00000 /src/fast_float/include/fast_float/bigint.h:463

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 arbitrary_format(FuzzedDataProvider&) [function] [call site] 00001
1 fast_float::from_chars_result_t fast_float::from_chars (char const*, char const*, double&, fast_float::chars_format) [function] [call site] 00002
2 fast_float::parse_options_t ::parse_options_t(fast_float::chars_format, char) [function] [call site] 00003
2 fast_float::from_chars_result_t fast_float::from_chars_advanced (char const*, char const*, double&, fast_float::parse_options_t ) [function] [call site] 00004
3 fast_float::parsed_number_string_t ::parsed_number_string_t() [function] [call site] 00005
4 fast_float::span ::span() [function] [call site] 00006
4 fast_float::span ::span() [function] [call site] 00007
3 fast_float::span ::span(char const*, unsigned long) [function] [call site] 00008
3 __clang_call_terminate [call site] 00009
4 __cxa_begin_catch [call site] 00010
3 __clang_call_terminate [call site] 00011
3 __clang_call_terminate [call site] 00012
3 fast_float::from_chars_result_t fast_float::detail::parse_infnan (char const*, char const*, double&) [function] [call site] 00013
4 char const* fast_float::str_const_nan () [function] [call site] 00014
4 char const* fast_float::str_const_inf () [function] [call site] 00015
4 char const* fast_float::str_const_inf () [function] [call site] 00016
4 __clang_call_terminate [call site] 00017
3 fast_float::binary_format ::min_exponent_fast_path() [function] [call site] 00018
3 fast_float::binary_format ::max_mantissa_fast_path() [function] [call site] 00019
4 fast_float::binary_format ::mantissa_explicit_bits() [function] [call site] 00020
3 fast_float::binary_format ::exact_power_of_ten(long) [function] [call site] 00021
3 fast_float::binary_format ::exact_power_of_ten(long) [function] [call site] 00022
3 fast_float::binary_format ::max_mantissa_fast_path(long) [function] [call site] 00023
3 fast_float::binary_format ::exact_power_of_ten(long) [function] [call site] 00024
3 fast_float::adjusted_mantissa::adjusted_mantissa() [function] [call site] 00025
3 __assert_fail [call site] 00026
3 fast_float::value128::value128() [function] [call site] 00027
3 fast_float::value128::value128() [function] [call site] 00028
3 __clang_call_terminate [call site] 00029
3 fast_float::adjusted_mantissa::adjusted_mantissa() [function] [call site] 00030
3 __clang_call_terminate [call site] 00031
3 __assert_fail [call site] 00032
3 __clang_call_terminate [call site] 00033
3 fast_float::adjusted_mantissa::adjusted_mantissa() [function] [call site] 00034
3 fast_float::adjusted_mantissa fast_float::digit_comp (fast_float::parsed_number_string_t &, fast_float::adjusted_mantissa) [function] [call site] 00035
4 fast_float::binary_format ::max_digits() [function] [call site] 00036
4 fast_float::bigint::bigint() [function] [call site] 00037
5 fast_float::stackvec<(unsigned short)62>::stackvec() [function] [call site] 00038
4 void fast_float::parse_mantissa (fast_float::bigint&, fast_float::parsed_number_string_t &, unsigned long, unsigned long&) [function] [call site] 00039
5 fast_float::span ::len() const [function] [call site] 00040
5 int fast_float::int_cmp_len () [function] [call site] 00041
5 __clang_call_terminate [call site] 00042
5 fast_float::bigint::mul(unsigned long) [function] [call site] 00043
6 bool fast_float::small_mul<(unsigned short)62>(fast_float::stackvec<(unsigned short)62>&, unsigned long) [function] [call site] 00044
7 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00045
7 fast_float::stackvec<(unsigned short)62>::operator[](unsigned long) [function] [call site] 00046
7 fast_float::stackvec<(unsigned short)62>::try_push(unsigned long) [function] [call site] 00047
8 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00048
8 fast_float::stackvec<(unsigned short)62>::push_unchecked(unsigned long) [function] [call site] 00049
5 int fast_float::int_cmp_len () [function] [call site] 00050
5 __clang_call_terminate [call site] 00051
5 fast_float::span ::len() const [function] [call site] 00052
5 int fast_float::int_cmp_len () [function] [call site] 00053
5 __clang_call_terminate [call site] 00054
5 fast_float::bigint::mul(unsigned long) [function] [call site] 00055
5 fast_float::bigint::mul(unsigned long) [function] [call site] 00056
5 fast_float::span ::len() const [function] [call site] 00057
5 int fast_float::int_cmp_len () [function] [call site] 00058
5 __clang_call_terminate [call site] 00059
5 fast_float::bigint::mul(unsigned long) [function] [call site] 00060
5 int fast_float::int_cmp_len () [function] [call site] 00061
5 __clang_call_terminate [call site] 00062
5 fast_float::bigint::mul(unsigned long) [function] [call site] 00063
5 fast_float::bigint::mul(unsigned long) [function] [call site] 00064
5 __clang_call_terminate [call site] 00065
4 fast_float::adjusted_mantissa fast_float::positive_digit_comp (fast_float::bigint&, int) [function] [call site] 00066
5 fast_float::bigint::pow10(unsigned int) [function] [call site] 00067
6 fast_float::bigint::pow5(unsigned int) [function] [call site] 00068
7 fast_float::span ::span(unsigned long const*, unsigned long) [function] [call site] 00069
7 bool fast_float::large_mul<(unsigned short)62>(fast_float::stackvec<(unsigned short)62>&, fast_float::span ) [function] [call site] 00070
8 fast_float::span ::len() const [function] [call site] 00071
8 fast_float::span ::operator[](unsigned long) const [function] [call site] 00072
8 bool fast_float::small_mul<(unsigned short)62>(fast_float::stackvec<(unsigned short)62>&, unsigned long) [function] [call site] 00073
8 bool fast_float::long_mul<(unsigned short)62>(fast_float::stackvec<(unsigned short)62>&, fast_float::span ) [function] [call site] 00074
9 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00075
9 fast_float::span ::span(unsigned long const*, unsigned long) [function] [call site] 00076
9 fast_float::stackvec<(unsigned short)62>::stackvec(fast_float::span ) [function] [call site] 00077
10 fast_float::stackvec<(unsigned short)62>::try_extend(fast_float::span ) [function] [call site] 00078
11 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00079
11 fast_float::span ::len() const [function] [call site] 00080
11 fast_float::stackvec<(unsigned short)62>::extend_unchecked(fast_float::span ) [function] [call site] 00081
12 fast_float::span ::len() const [function] [call site] 00082
12 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00083
12 fast_float::span ::len() const [function] [call site] 00084
12 __clang_call_terminate [call site] 00085
9 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00086
9 fast_float::span ::span(unsigned long const*, unsigned long) [function] [call site] 00087
9 fast_float::span ::len() const [function] [call site] 00088
9 fast_float::span ::operator[](unsigned long) const [function] [call site] 00089
9 bool fast_float::small_mul<(unsigned short)62>(fast_float::stackvec<(unsigned short)62>&, unsigned long) [function] [call site] 00090
9 fast_float::span ::len() const [function] [call site] 00091
9 fast_float::span ::operator[](unsigned long) const [function] [call site] 00092
9 fast_float::stackvec<(unsigned short)62>::stackvec() [function] [call site] 00093
9 fast_float::stackvec<(unsigned short)62>::set_len(unsigned long) [function] [call site] 00094
9 fast_float::stackvec<(unsigned short)62>::try_extend(fast_float::span ) [function] [call site] 00095
9 bool fast_float::small_mul<(unsigned short)62>(fast_float::stackvec<(unsigned short)62>&, unsigned long) [function] [call site] 00096
9 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00097
9 fast_float::span ::span(unsigned long const*, unsigned long) [function] [call site] 00098
9 bool fast_float::large_add_from<(unsigned short)62>(fast_float::stackvec<(unsigned short)62>&, fast_float::span , unsigned long) [function] [call site] 00099
10 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00100
10 fast_float::span ::len() const [function] [call site] 00101
10 fast_float::span ::len() const [function] [call site] 00102
10 fast_float::stackvec<(unsigned short)62>::try_resize(unsigned long, unsigned long) [function] [call site] 00103
11 fast_float::stackvec<(unsigned short)62>::capacity() const [function] [call site] 00104
11 fast_float::stackvec<(unsigned short)62>::resize_unchecked(unsigned long, unsigned long) [function] [call site] 00105
12 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00106
12 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00107
12 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00108
12 fast_float::stackvec<(unsigned short)62>::set_len(unsigned long) [function] [call site] 00109
12 fast_float::stackvec<(unsigned short)62>::set_len(unsigned long) [function] [call site] 00110
12 __clang_call_terminate [call site] 00111
10 fast_float::span ::len() const [function] [call site] 00112
10 fast_float::stackvec<(unsigned short)62>::operator[](unsigned long) [function] [call site] 00113
10 fast_float::span ::operator[](unsigned long) const [function] [call site] 00114
10 fast_float::stackvec<(unsigned short)62>::operator[](unsigned long) [function] [call site] 00115
10 fast_float::span ::len() const [function] [call site] 00116
10 bool fast_float::small_add_from<(unsigned short)62>(fast_float::stackvec<(unsigned short)62>&, unsigned long, unsigned long) [function] [call site] 00117
11 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00118
11 fast_float::stackvec<(unsigned short)62>::operator[](unsigned long) [function] [call site] 00119
11 fast_float::stackvec<(unsigned short)62>::try_push(unsigned long) [function] [call site] 00120
9 fast_float::stackvec<(unsigned short)62>::normalize() [function] [call site] 00121
10 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00122
9 __clang_call_terminate [call site] 00123
7 bool fast_float::small_mul<(unsigned short)62>(fast_float::stackvec<(unsigned short)62>&, unsigned long) [function] [call site] 00124
7 bool fast_float::small_mul<(unsigned short)62>(fast_float::stackvec<(unsigned short)62>&, unsigned long) [function] [call site] 00125
7 __clang_call_terminate [call site] 00126
6 fast_float::bigint::pow2(unsigned int) [function] [call site] 00127
7 fast_float::bigint::shl(unsigned long) [function] [call site] 00128
8 fast_float::bigint::shl_bits(unsigned long) [function] [call site] 00129
9 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00130
9 fast_float::stackvec<(unsigned short)62>::operator[](unsigned long) [function] [call site] 00131
9 fast_float::stackvec<(unsigned short)62>::operator[](unsigned long) [function] [call site] 00132
9 fast_float::stackvec<(unsigned short)62>::try_push(unsigned long) [function] [call site] 00133
8 fast_float::bigint::shl_limbs(unsigned long) [function] [call site] 00134
9 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00135
9 fast_float::stackvec<(unsigned short)62>::is_empty() const [function] [call site] 00136
9 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00137
9 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00138
9 __clang_call_terminate [call site] 00139
5 fast_float::adjusted_mantissa::adjusted_mantissa() [function] [call site] 00140
5 fast_float::bigint::bit_length() const [function] [call site] 00141
6 fast_float::bigint::ctlz() const [function] [call site] 00142
7 fast_float::stackvec<(unsigned short)62>::is_empty() const [function] [call site] 00143
7 fast_float::stackvec<(unsigned short)62>::rindex(unsigned long) const [function] [call site] 00144
7 __assert_fail [call site] 00145
6 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00146
5 fast_float::positive_digit_comp (fast_float::bigint&, int)::{lambda(fast_float::adjusted_mantissa&, int)#1}::operator()(fast_float::adjusted_mantissa&, int) const [function] [call site] 00147
6 fast_float::positive_digit_comp (fast_float::bigint&, int)::{lambda(fast_float::adjusted_mantissa&, int)#1}::operator()(fast_float::adjusted_mantissa&, int) const::{lambda(bool, bool, bool)#1}::operator()(bool, bool, bool) const [function] [call site] 00148
6 __clang_call_terminate [call site] 00149
5 __clang_call_terminate [call site] 00150
4 fast_float::adjusted_mantissa fast_float::negative_digit_comp (fast_float::bigint&, fast_float::adjusted_mantissa, int) [function] [call site] 00151
5 fast_float::binary_format ::mantissa_explicit_bits() [function] [call site] 00152
5 fast_float::negative_digit_comp (fast_float::bigint&, fast_float::adjusted_mantissa, int)::{lambda(fast_float::adjusted_mantissa&, int)#1}::operator()(fast_float::adjusted_mantissa&, int) const [function] [call site] 00153
5 __clang_call_terminate [call site] 00154
5 fast_float::adjusted_mantissa::adjusted_mantissa() [function] [call site] 00155
5 fast_float::bigint::pow5(unsigned int) [function] [call site] 00156
5 fast_float::bigint::pow2(unsigned int) [function] [call site] 00157
5 fast_float::bigint::pow2(unsigned int) [function] [call site] 00158
5 fast_float::bigint::compare(fast_float::bigint const&) const [function] [call site] 00159
6 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00160
6 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00161
6 fast_float::stackvec<(unsigned short)62>::len() const [function] [call site] 00162
6 fast_float::stackvec<(unsigned short)62>::operator[](unsigned long) const [function] [call site] 00163
6 fast_float::stackvec<(unsigned short)62>::operator[](unsigned long) const [function] [call site] 00164
5 fast_float::binary_format ::mantissa_explicit_bits() [function] [call site] 00165
5 fast_float::negative_digit_comp (fast_float::bigint&, fast_float::adjusted_mantissa, int)::{lambda(fast_float::adjusted_mantissa&, int)#2}::operator()(fast_float::adjusted_mantissa&, int) const [function] [call site] 00166
6 fast_float::negative_digit_comp (fast_float::bigint&, fast_float::adjusted_mantissa, int)::{lambda(fast_float::adjusted_mantissa&, int)#2}::operator()(fast_float::adjusted_mantissa&, int) const::{lambda(bool, bool, bool)#1}::operator()(bool, bool, bool) const [function] [call site] 00167
6 __clang_call_terminate [call site] 00168
5 __clang_call_terminate [call site] 00169
5 __clang_call_terminate [call site] 00170
4 __clang_call_terminate [call site] 00171
3 fast_float::binary_format ::mantissa_explicit_bits() [function] [call site] 00172
3 fast_float::binary_format ::infinite_power() [function] [call site] 00173
2 __clang_call_terminate [call site] 00174
1 fast_float::from_chars_result_t fast_float::from_chars (char const*, char const*, double&, fast_float::chars_format) [function] [call site] 00175