Fuzz introspector: fuzz_json
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
104 107 2 :

['nxt_log_start', 'nxt_process_arguments']

104 107 nxt_lib_start call site: 00000 /src/unit/src/nxt_lib.c:132
7 7 2 :

['nxt_thread_tid', 'gettimeofday']

7 9 nxt_random_stir call site: 00000 /src/unit/src/nxt_random.c:94
6 6 3 :

['close', 'open64', 'read']

13 15 nxt_random_stir call site: 00000 /src/unit/src/nxt_random.c:85
6 6 3 :

['close', 'open64', 'dup2']

6 6 nxt_stderr_start call site: 00000 /src/unit/src/nxt_file.c:693
5 5 1 :

['nxt_thread_time_shared']

5 5 nxt_thread_time_update call site: 00000 /src/unit/src/nxt_thread_time.c:52
0 221 1 :

['nxt_conf_vldt_error']

0 221 nxt_conf_validate call site: 00232 /src/unit/src/nxt_conf_validation.c:1554
0 221 1 :

['nxt_conf_vldt_error']

0 221 nxt_conf_vldt_if call site: 00000 /src/unit/src/nxt_conf_validation.c:1757
0 124 1 :

['nxt_mp_alloc']

0 474 nxt_var_ref_get call site: 00192 /src/unit/src/nxt_var.c:123
0 100 1 :

['nxt_mp_alloc_large']

0 100 nxt_mp_align call site: 00000 /src/unit/src/nxt_mp.c:445
0 33 1 :

['nxt_conf_get_object_member']

0 254 nxt_conf_vldt_pass call site: 00000 /src/unit/src/nxt_conf_validation.c:1988
0 25 2 :

['nxt_rbtree_delete', 'free']

0 25 nxt_mp_chunk_free call site: 00198 /src/unit/src/nxt_mp.c:899
0 11 1 :

['nxt_conf_get_object_member']

0 232 nxt_conf_vldt_pass call site: 00000 /src/unit/src/nxt_conf_validation.c:2023

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 nxt_mp_create [function] [call site] 00001
2 nxt_zalloc [function] [call site] 00002
3 nxt_malloc [function] [call site] 00003
4 nxt_malloc_log [function] [call site] 00004
4 nxt_log_moderate_allow [function] [call site] 00005
5 nxt_thread_time [function] [call site] 00006
6 nxt_thread_realtime_update [function] [call site] 00007
7 nxt_realtime [function] [call site] 00008
8 clock_gettime [call site] 00009
5 nxt_thread_spin_lock [function] [call site] 00010
6 pthread_yield [call site] 00011
5 nxt_thread_spin_unlock [function] [call site] 00012
5 nxt_timer_add [function] [call site] 00013
6 nxt_timer_change [function] [call site] 00014
7 nxt_timer_changes_commit [function] [call site] 00015
8 nxt_rbtree_delete [function] [call site] 00016
9 nxt_rbtree_delete_fixup [function] [call site] 00017
8 nxt_rbtree_insert [function] [call site] 00018
9 nxt_rbtree_insert_fixup [function] [call site] 00019
6 nxt_timer_change [function] [call site] 00020
4 __errno_location [call site] 00021
2 nxt_rbtree_init [function] [call site] 00022
2 nxt_mp_rbtree_compare [function] [call site] 00023
1 nxt_mp_zget [function] [call site] 00024
2 nxt_mp_get [function] [call site] 00025
3 nxt_mp_get_small [function] [call site] 00026
4 nxt_mp_alloc_page [function] [call site] 00027
5 nxt_mp_alloc_cluster [function] [call site] 00028
6 nxt_zalloc [function] [call site] 00029
6 nxt_memalign [function] [call site] 00030
7 posix_memalign [call site] 00031
7 nxt_malloc_log [function] [call site] 00032
7 nxt_log_moderate_allow [function] [call site] 00033
6 nxt_rbtree_insert [function] [call site] 00034
3 nxt_mp_alloc_large [function] [call site] 00035
4 nxt_malloc [function] [call site] 00036
4 nxt_memalign [function] [call site] 00037
4 nxt_memalign [function] [call site] 00038
4 nxt_rbtree_insert [function] [call site] 00039
1 nxt_array_create [function] [call site] 00040
2 nxt_mp_alloc [function] [call site] 00041
3 nxt_mp_alloc_small [function] [call site] 00042
4 nxt_mp_alloc_page [function] [call site] 00043
4 nxt_mp_alloc_page [function] [call site] 00044
3 nxt_mp_alloc_large [function] [call site] 00045
1 nxt_conf_json_parse [function] [call site] 00046
2 nxt_mp_get [function] [call site] 00047
2 nxt_conf_json_skip_space [function] [call site] 00048
2 nxt_conf_json_parse_error [function] [call site] 00049
2 nxt_conf_json_parse_value [function] [call site] 00050
3 nxt_conf_json_parse_object [function] [call site] 00051
4 nxt_mp_create [function] [call site] 00052
4 nxt_conf_json_skip_space [function] [call site] 00053
4 nxt_conf_json_parse_error [function] [call site] 00054
4 nxt_conf_json_parse_error [function] [call site] 00055
4 nxt_mp_get [function] [call site] 00056
4 nxt_conf_json_parse_string [function] [call site] 00057
5 nxt_conf_json_parse_error [function] [call site] 00058
5 nxt_conf_json_parse_error [function] [call site] 00059
5 nxt_conf_json_parse_error [function] [call site] 00060
5 nxt_conf_json_parse_error [function] [call site] 00061
5 nxt_conf_json_parse_error [function] [call site] 00062
5 nxt_mp_nget [function] [call site] 00063
6 nxt_mp_get_small [function] [call site] 00064
6 nxt_mp_alloc_large [function] [call site] 00065
5 nxt_conf_json_parse_error [function] [call site] 00066
5 nxt_conf_json_parse_error [function] [call site] 00067
5 nxt_utf8_encode [function] [call site] 00068
4 nxt_conf_object_hash_add [function] [call site] 00069
5 nxt_conf_get_string [function] [call site] 00070
5 nxt_djb_hash [function] [call site] 00071
5 nxt_lvlhsh_insert [function] [call site] 00072
6 nxt_lvlhsh_bucket_insert [function] [call site] 00073
7 nxt_lvlhsh_convert_bucket_to_level [function] [call site] 00074
8 nxt_lvlhsh_level_convertion_insert [function] [call site] 00075
9 nxt_lvlhsh_new_bucket [function] [call site] 00076
9 nxt_lvlhsh_bucket_convertion_insert [function] [call site] 00077
10 nxt_lvlhsh_convert_bucket_to_level [function] [call site] 00078
11 nxt_lvlhsh_free_level [function] [call site] 00079
10 nxt_lvlhsh_level_insert [function] [call site] 00080
11 nxt_lvlhsh_bucket_insert [function] [call site] 00081
12 nxt_lvlhsh_level_insert [function] [call site] 00082
13 nxt_lvlhsh_level_insert [function] [call site] 00083
14 nxt_lvlhsh_new_bucket [function] [call site] 00084
12 nxt_lvlhsh_new_bucket [function] [call site] 00085
10 nxt_lvlhsh_new_bucket [function] [call site] 00086
6 nxt_lvlhsh_level_insert [function] [call site] 00087
6 nxt_lvlhsh_new_bucket [function] [call site] 00088
4 nxt_conf_json_parse_error [function] [call site] 00089
4 nxt_conf_json_skip_space [function] [call site] 00090
4 nxt_conf_json_parse_error [function] [call site] 00091
4 nxt_conf_json_parse_error [function] [call site] 00092
4 nxt_conf_json_skip_space [function] [call site] 00093
4 nxt_conf_json_parse_error [function] [call site] 00094
4 nxt_conf_json_parse_value [function] [call site] 00095
5 nxt_conf_json_parse_array [function] [call site] 00096
6 nxt_mp_create [function] [call site] 00097
6 nxt_list_create [function] [call site] 00098
7 nxt_mp_get [function] [call site] 00099
6 nxt_conf_json_skip_space [function] [call site] 00100
6 nxt_conf_json_parse_error [function] [call site] 00101
6 nxt_list_add [function] [call site] 00102
7 nxt_mp_get [function] [call site] 00103
6 nxt_conf_json_parse_value [function] [call site] 00104
7 nxt_conf_json_parse_string [function] [call site] 00105
7 memcmp [call site] 00106
7 memcmp [call site] 00107
7 memcmp [call site] 00108
7 nxt_conf_json_parse_number [function] [call site] 00109
8 nxt_conf_json_parse_error [function] [call site] 00110
8 nxt_conf_json_parse_error [function] [call site] 00111
8 nxt_conf_json_parse_error [function] [call site] 00112
8 nxt_conf_json_parse_error [function] [call site] 00113
8 __errno_location [call site] 00114
8 strtod [call site] 00115
8 __errno_location [call site] 00116
8 nxt_conf_json_parse_error [function] [call site] 00117
8 __errno_location [call site] 00118
7 nxt_conf_json_parse_error [function] [call site] 00119
6 nxt_conf_json_skip_space [function] [call site] 00120
6 nxt_conf_json_parse_error [function] [call site] 00121
6 nxt_conf_json_parse_error [function] [call site] 00122
6 nxt_mp_get [function] [call site] 00123
6 nxt_mp_destroy [function] [call site] 00124
7 nxt_rbtree_destroy_next [function] [call site] 00125
6 nxt_mp_destroy [function] [call site] 00126
4 nxt_conf_json_skip_space [function] [call site] 00127
4 nxt_conf_json_parse_error [function] [call site] 00128
4 nxt_conf_json_parse_error [function] [call site] 00129
4 nxt_mp_get [function] [call site] 00130
4 nxt_lvlhsh_each [function] [call site] 00131
5 nxt_lvlhsh_bucket_each [function] [call site] 00132
5 nxt_lvlhsh_level_each [function] [call site] 00133
6 nxt_lvlhsh_bucket_each [function] [call site] 00134
6 nxt_lvlhsh_level_each [function] [call site] 00135
4 nxt_mp_destroy [function] [call site] 00136
4 nxt_mp_destroy [function] [call site] 00137
2 nxt_conf_json_skip_space [function] [call site] 00138
2 nxt_conf_json_parse_error [function] [call site] 00139
1 nxt_conf_json_length [function] [call site] 00140
2 strlen [call site] 00141
2 nxt_conf_json_string_length [function] [call site] 00142
3 nxt_conf_get_string [function] [call site] 00143
3 nxt_conf_json_escape_length [function] [call site] 00144
2 nxt_conf_json_array_length [function] [call site] 00145
3 nxt_conf_json_length [function] [call site] 00146
4 nxt_conf_json_object_length [function] [call site] 00147
5 nxt_conf_json_string_length [function] [call site] 00148
5 nxt_conf_json_length [function] [call site] 00149
1 nxt_conf_json_length [function] [call site] 00150
1 nxt_mp_create [function] [call site] 00151
1 nxt_conf_validate [function] [call site] 00152
2 nxt_tstr_state_new [function] [call site] 00153
3 nxt_mp_get [function] [call site] 00154
3 nxt_array_create [function] [call site] 00155
2 nxt_conf_vldt_type [function] [call site] 00156
3 nxt_conf_type [function] [call site] 00157
3 nxt_conf_vldt_error [function] [call site] 00158
4 nxt_vsprintf [function] [call site] 00159
5 nxt_integer [function] [call site] 00160
5 modf [call site] 00161
5 nxt_number [function] [call site] 00162
6 fmod [call site] 00163
5 nxt_integer [function] [call site] 00164
5 modf [call site] 00165
5 modf [call site] 00166
5 nxt_integer [function] [call site] 00167
4 nxt_mp_nget [function] [call site] 00168
3 nxt_conf_vldt_error [function] [call site] 00169
2 nxt_conf_vldt_object [function] [call site] 00170
3 nxt_conf_get_object_member [function] [call site] 00171
4 nxt_conf_get_string [function] [call site] 00172
4 memcmp [call site] 00173
3 nxt_conf_vldt_error [function] [call site] 00174
3 nxt_conf_next_object_member [function] [call site] 00175
4 nxt_conf_get_string [function] [call site] 00176
3 nxt_conf_vldt_error [function] [call site] 00177
3 memcmp [call site] 00178
3 nxt_conf_type [function] [call site] 00179
3 nxt_conf_get_string [function] [call site] 00180
3 memchr [call site] 00181
3 nxt_conf_vldt_var [function] [call site] 00182
4 nxt_tstr_test [function] [call site] 00183
5 nxt_sprintf [function] [call site] 00184
6 nxt_vsprintf [function] [call site] 00185
5 memchr [call site] 00186
5 nxt_var_test [function] [call site] 00187
6 nxt_var_next_part [function] [call site] 00188
7 memchr [call site] 00189
6 nxt_sprintf [function] [call site] 00190
6 nxt_var_ref_get [function] [call site] 00191
7 memcmp [call site] 00192
7 nxt_mp_alloc [function] [call site] 00193
7 nxt_array_add [function] [call site] 00194
8 nxt_mp_alloc [function] [call site] 00195
8 nxt_mp_free [function] [call site] 00196
9 nxt_mp_find_block [function] [call site] 00197
9 nxt_mp_chunk_free [function] [call site] 00198
10 nxt_rbtree_delete [function] [call site] 00199
9 nxt_rbtree_delete [function] [call site] 00200
7 nxt_var_hash_find [function] [call site] 00201
8 nxt_djb_hash [function] [call site] 00202
8 nxt_lvlhsh_find [function] [call site] 00203
9 nxt_lvlhsh_bucket_find [function] [call site] 00204
9 nxt_lvlhsh_level_find [function] [call site] 00205
10 nxt_lvlhsh_bucket_find [function] [call site] 00206
10 nxt_lvlhsh_level_find [function] [call site] 00207
7 nxt_http_unknown_var_ref [function] [call site] 00208
8 memcmp [call site] 00209
8 nxt_str_alloc [function] [call site] 00210
9 nxt_mp_get [function] [call site] 00211
8 nxt_memcpy_lowcase [function] [call site] 00212
8 memcmp [call site] 00213
8 nxt_http_header_hash [function] [call site] 00214
9 nxt_mp_nget [function] [call site] 00215
8 memcmp [call site] 00216
8 nxt_http_argument_hash [function] [call site] 00217
9 nxt_http_field_hash [function] [call site] 00218
10 nxt_mp_nget [function] [call site] 00219
8 memcmp [call site] 00220
8 nxt_http_cookie_hash [function] [call site] 00221
9 nxt_http_field_hash [function] [call site] 00222
8 nxt_var_field_new [function] [call site] 00223
9 nxt_mp_alloc [function] [call site] 00224
9 nxt_str_dup [function] [call site] 00225
10 nxt_mp_get [function] [call site] 00226
10 nxt_mp_nget [function] [call site] 00227
7 nxt_str_dup [function] [call site] 00228
6 nxt_sprintf [function] [call site] 00229
4 nxt_conf_vldt_error [function] [call site] 00230
3 nxt_conf_vldt_type [function] [call site] 00231
2 nxt_tstr_state_done [function] [call site] 00232
2 nxt_conf_vldt_error [function] [call site] 00233
1 nxt_mp_destroy [function] [call site] 00234
1 nxt_mp_destroy [function] [call site] 00235