Fuzz introspector: bn_div
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
58 58 1 :

['ERR_put_error']

58 58 BN_lshift call site: 00114 /src/boringssl/crypto/fipsmodule/bn/shift.c:72
58 58 1 :

['ERR_put_error']

58 58 BN_rshift call site: 00132 /src/boringssl/crypto/fipsmodule/bn/shift.c:157
58 58 1 :

['ERR_put_error']

58 58 sk_insert call site: 00000 /src/boringssl/crypto/stack/stack.c:166
22 22 2 :

['handle_cpu_env', 'strchr']

22 22 OPENSSL_cpuid_setup call site: 00000 /src/boringssl/crypto/cpu_intel.c:265
2 15 2 :

['OPENSSL_memory_get_size', 'OPENSSL_free']

2 85 OPENSSL_realloc call site: 00086 /src/boringssl/crypto/mem.c:301
2 2 1 :

['OPENSSL_memory_alloc']

60 60 OPENSSL_malloc call site: 00018 /src/boringssl/crypto/mem.c:233
2 2 1 :

['OPENSSL_memory_free']

2 2 OPENSSL_free call site: 00048 /src/boringssl/crypto/mem.c:276
2 2 1 :

['sdallocx']

2 2 OPENSSL_free call site: 00050 /src/boringssl/crypto/mem.c:292
0 144 1 :

['BN_CTX_get']

0 868 BN_div call site: 00109 /src/boringssl/crypto/fipsmodule/bn/div.c:226
0 18 1 :

['BN_free']

0 18 BN_bin2bn call site: 00043 /src/boringssl/crypto/fipsmodule/bn/bytes.c:104
0 4 1 :

['bn_mul_comba8']

0 57 bn_mul_part_recursive call site: 00189 /src/boringssl/crypto/fipsmodule/bn/mul.c:346
0 3 1 :

['bn_fits_in_words']

116 209 bn_usub_consttime call site: 00242 /src/boringssl/crypto/fipsmodule/bn/add.c:230

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 CBS_get_u16_length_prefixed [function] [call site] 00002
2 cbs_get_length_prefixed [function] [call site] 00003
1 CBS_get_u16_length_prefixed [function] [call site] 00012
1 CBS_get_u8 [function] [call site] 00013
1 BN_bin2bn [function] [call site] 00016
2 BN_new [function] [call site] 00017
3 OPENSSL_malloc [function] [call site] 00018
4 __assert_fail [call site] 00019
4 __assert_fail [call site] 00020
4 OPENSSL_memory_alloc [call site] 00021
4 ERR_put_error [function] [call site] 00022
5 err_get_state [function] [call site] 00023
6 CRYPTO_get_thread_local [function] [call site] 00024
7 CRYPTO_once [function] [call site] 00025
8 pthread_once [call site] 00026
8 abort [call site] 00027
7 pthread_getspecific [call site] 00028
6 OPENSSL_memset [function] [call site] 00029
6 CRYPTO_set_thread_local [function] [call site] 00030
7 CRYPTO_once [function] [call site] 00031
7 pthread_getspecific [call site] 00032
7 OPENSSL_memset [function] [call site] 00033
7 pthread_setspecific [call site] 00034
7 pthread_mutex_lock [call site] 00035
7 pthread_mutex_unlock [call site] 00036
6 err_state_free [function] [call site] 00037
7 err_clear [function] [call site] 00038
8 OPENSSL_memset [function] [call site] 00039
5 __errno_location [call site] 00040
5 err_clear [function] [call site] 00041
3 OPENSSL_memset [function] [call site] 00042
2 bn_wexpand [function] [call site] 00043
3 ERR_put_error [function] [call site] 00044
3 ERR_put_error [function] [call site] 00045
3 OPENSSL_malloc [function] [call site] 00046
3 OPENSSL_memcpy [function] [call site] 00047
3 OPENSSL_free [function] [call site] 00048
4 OPENSSL_memory_free [call site] 00049
4 OPENSSL_cleanse [function] [call site] 00050
5 OPENSSL_memset [function] [call site] 00051
4 sdallocx [call site] 00052
2 BN_free [function] [call site] 00053
3 OPENSSL_free [function] [call site] 00054
3 OPENSSL_free [function] [call site] 00055
2 __assert_fail [call site] 00056
2 bn_big_endian_to_words [function] [call site] 00057
3 OPENSSL_memset [function] [call site] 00058
3 CRYPTO_load_word_be [function] [call site] 00059
4 OPENSSL_memcpy [function] [call site] 00060
4 CRYPTO_bswap8 [function] [call site] 00061
3 __assert_fail [call site] 00062
1 BN_set_negative [function] [call site] 00063
2 BN_is_zero [function] [call site] 00064
3 bn_fits_in_words [function] [call site] 00065
1 BN_bin2bn [function] [call site] 00067
1 BN_set_negative [function] [call site] 00068
1 BN_is_zero [function] [call site] 00069
1 BN_CTX_new [function] [call site] 00070
2 OPENSSL_malloc [function] [call site] 00071
2 BN_STACK_init [function] [call site] 00072
1 printf [call site] 00075
1 printf [call site] 00076
1 printf [call site] 00077
1 BN_div [function] [call site] 00078
2 bn_minimal_width [function] [call site] 00079
2 bn_minimal_width [function] [call site] 00080
2 ERR_put_error [function] [call site] 00081
2 BN_is_zero [function] [call site] 00082
2 ERR_put_error [function] [call site] 00083
2 BN_CTX_start [function] [call site] 00084
3 BN_STACK_push [function] [call site] 00085
4 OPENSSL_realloc [function] [call site] 00086
5 OPENSSL_malloc [function] [call site] 00087
5 OPENSSL_memory_get_size [call site] 00088
5 OPENSSL_malloc [function] [call site] 00089
5 OPENSSL_free [function] [call site] 00090
2 BN_CTX_get [function] [call site] 00091
3 ERR_put_error [function] [call site] 00092
3 sk_BIGNUM_new_null [function] [call site] 00093
4 sk_new_null [function] [call site] 00094
5 sk_new [function] [call site] 00095
6 OPENSSL_malloc [function] [call site] 00096
6 OPENSSL_memset [function] [call site] 00097
6 OPENSSL_malloc [function] [call site] 00098
6 OPENSSL_memset [function] [call site] 00099
6 OPENSSL_free [function] [call site] 00100
3 sk_BIGNUM_num [function] [call site] 00101
3 sk_BIGNUM_push [function] [call site] 00103
3 ERR_put_error [function] [call site] 00104
3 sk_BIGNUM_value [function] [call site] 00106
2 BN_CTX_get [function] [call site] 00108
2 BN_CTX_get [function] [call site] 00109
2 BN_CTX_get [function] [call site] 00110
2 BN_num_bits [function] [call site] 00111
3 bn_minimal_width [function] [call site] 00112
3 BN_num_bits_word [function] [call site] 00113
2 BN_lshift [function] [call site] 00114
3 ERR_put_error [function] [call site] 00115
3 bn_wexpand [function] [call site] 00116
3 OPENSSL_memset [function] [call site] 00117
3 bn_set_minimal_width [function] [call site] 00118
4 bn_minimal_width [function] [call site] 00119
2 bn_set_minimal_width [function] [call site] 00120
2 BN_lshift [function] [call site] 00121
2 bn_set_minimal_width [function] [call site] 00122
2 bn_wexpand [function] [call site] 00123
2 bn_wexpand [function] [call site] 00124
2 bn_wexpand [function] [call site] 00125
2 bn_wexpand [function] [call site] 00126
2 bn_set_minimal_width [function] [call site] 00127
2 bn_div_rem_words [function] [call site] 00128
2 bn_mul_words [function] [call site] 00129
2 bn_sub_words [function] [call site] 00130
2 bn_add_words [function] [call site] 00131
2 BN_rshift [function] [call site] 00132
3 ERR_put_error [function] [call site] 00133
3 bn_wexpand [function] [call site] 00134
3 bn_rshift_words [function] [call site] 00135
4 OPENSSL_memset [function] [call site] 00136
4 OPENSSL_memmove [function] [call site] 00137
4 OPENSSL_memset [function] [call site] 00138
3 bn_set_minimal_width [function] [call site] 00139
2 BN_is_zero [function] [call site] 00140
2 bn_set_minimal_width [function] [call site] 00141
2 BN_CTX_end [function] [call site] 00142
3 BN_STACK_pop [function] [call site] 00143
4 __assert_fail [call site] 00144
2 BN_CTX_end [function] [call site] 00145
1 printf [call site] 00146
1 BN_ucmp [function] [call site] 00147
2 bn_cmp_words_consttime [function] [call site] 00148
3 constant_time_eq_w [function] [call site] 00149
4 constant_time_is_zero_w [function] [call site] 00150
5 constant_time_msb_w [function] [call site] 00151
3 constant_time_select_int [function] [call site] 00152
4 constant_time_select_w [function] [call site] 00153
5 value_barrier_w [function] [call site] 00154
3 constant_time_is_zero_w [function] [call site] 00155
1 printf [call site] 00156
1 BN_mul [function] [call site] 00157
2 bn_mul_impl [function] [call site] 00158
3 BN_CTX_start [function] [call site] 00159
3 BN_CTX_get [function] [call site] 00160
3 bn_wexpand [function] [call site] 00161
3 bn_mul_comba8 [function] [call site] 00162
3 BN_num_bits_word [function] [call site] 00163
3 __assert_fail [call site] 00164
3 BN_CTX_get [function] [call site] 00165
3 __assert_fail [call site] 00166
3 bn_wexpand [function] [call site] 00167
3 bn_wexpand [function] [call site] 00168
3 bn_mul_part_recursive [function] [call site] 00169
4 __assert_fail [call site] 00170
4 __assert_fail [call site] 00171
4 __assert_fail [call site] 00172
4 __assert_fail [call site] 00173
4 bn_mul_normal [function] [call site] 00174
5 OPENSSL_memset [function] [call site] 00175
5 bn_mul_words [function] [call site] 00176
5 bn_mul_add_words [function] [call site] 00177
5 bn_mul_add_words [function] [call site] 00178
5 bn_mul_add_words [function] [call site] 00179
5 bn_mul_add_words [function] [call site] 00180
4 OPENSSL_memset [function] [call site] 00181
4 bn_abs_sub_part_words [function] [call site] 00182
5 bn_sub_part_words [function] [call site] 00183
6 __assert_fail [call site] 00184
6 bn_sub_words [function] [call site] 00185
5 bn_sub_part_words [function] [call site] 00186
5 bn_select_words [function] [call site] 00187
6 constant_time_select_w [function] [call site] 00188
4 bn_abs_sub_part_words [function] [call site] 00189
4 bn_mul_comba8 [function] [call site] 00190
4 bn_mul_comba8 [function] [call site] 00191
4 bn_mul_normal [function] [call site] 00192
4 OPENSSL_memset [function] [call site] 00193
4 bn_mul_recursive [function] [call site] 00194
5 __assert_fail [call site] 00195
5 __assert_fail [call site] 00196
5 __assert_fail [call site] 00197
5 bn_mul_comba8 [function] [call site] 00198
5 bn_mul_normal [function] [call site] 00199
5 OPENSSL_memset [function] [call site] 00200
5 bn_abs_sub_part_words [function] [call site] 00201
5 bn_abs_sub_part_words [function] [call site] 00202
5 bn_mul_comba8 [function] [call site] 00203
5 bn_mul_comba8 [function] [call site] 00204
5 bn_mul_comba8 [function] [call site] 00205
5 bn_mul_recursive [function] [call site] 00206
6 bn_mul_recursive [function] [call site] 00207
7 bn_mul_recursive [function] [call site] 00208
8 bn_add_words [function] [call site] 00209
8 bn_sub_words [function] [call site] 00210
8 bn_add_words [function] [call site] 00211
8 bn_select_words [function] [call site] 00212
8 constant_time_select_w [function] [call site] 00213
8 bn_add_words [function] [call site] 00214
8 __assert_fail [call site] 00215
4 bn_mul_recursive [function] [call site] 00216
4 OPENSSL_memset [function] [call site] 00217
4 bn_mul_normal [function] [call site] 00218
4 bn_mul_part_recursive [function] [call site] 00219
5 bn_mul_recursive [function] [call site] 00220
5 bn_add_words [function] [call site] 00221
5 bn_sub_words [function] [call site] 00222
5 bn_add_words [function] [call site] 00223
5 bn_select_words [function] [call site] 00224
5 constant_time_select_w [function] [call site] 00225
5 bn_add_words [function] [call site] 00226
5 __assert_fail [call site] 00227
3 bn_wexpand [function] [call site] 00228
3 bn_wexpand [function] [call site] 00229
3 bn_mul_recursive [function] [call site] 00230
3 bn_wexpand [function] [call site] 00231
3 bn_mul_normal [function] [call site] 00232
3 BN_copy [function] [call site] 00233
4 bn_wexpand [function] [call site] 00234
4 OPENSSL_memcpy [function] [call site] 00235
3 BN_CTX_end [function] [call site] 00236
2 bn_set_minimal_width [function] [call site] 00237
1 printf [call site] 00238
1 BN_add [function] [call site] 00239
2 BN_usub [function] [call site] 00241
3 bn_usub_consttime [function] [call site] 00242
4 bn_fits_in_words [function] [call site] 00243
4 ERR_put_error [function] [call site] 00244
4 bn_wexpand [function] [call site] 00245
4 bn_sub_words [function] [call site] 00246
4 ERR_put_error [function] [call site] 00247
3 bn_set_minimal_width [function] [call site] 00248
2 BN_uadd [function] [call site] 00250
3 bn_uadd_consttime [function] [call site] 00251
4 bn_wexpand [function] [call site] 00252
4 bn_add_words [function] [call site] 00253
3 bn_set_minimal_width [function] [call site] 00254
1 printf [call site] 00255
1 printf [call site] 00258