Fuzz introspector: TestFuzzCommonAssistanceParseFileBuffer
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
467 498 4 :

['malloc', 'GetEnvironmentVariableA', 'free', 'WLog_AddStringLogFilters_int']

467 498 WLog_ParseFilters call site: 00108 /src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c:721
464 464 1 :

['log_recursion']

464 476 WLog_Write call site: 00000 /src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c:244
29 29 1 :

['Pcap_Close']

29 29 WLog_ConsoleAppender_Free call site: 00000 /src/FreeRDP/winpr/libwinpr/utils/wlog/ConsoleAppender.c:239
20 51 4 :

['malloc', 'GetEnvironmentVariableA', '_stricmp', 'free']

22 997 WLog_InitializeRoot call site: 00097 /src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c:126
18 18 2 :

['WLog_SetLogLevel', 'free']

18 476 WLog_New call site: 00014 /src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c:889
6 6 1 :

['WaitForCriticalSection']

6 14 EnterCriticalSection call site: 00023 /src/FreeRDP/winpr/libwinpr/synch/critical.c:184
6 6 1 :

['UnWaitCriticalSection']

6 6 LeaveCriticalSection call site: 00035 /src/FreeRDP/winpr/libwinpr/synch/critical.c:239
5 5 1 :

['_wcslen']

5 59 winpr_ConvertUTF16toUTF8 call site: 00378 /src/FreeRDP/winpr/libwinpr/crt/unicode_builtin.c:587
5 5 1 :

['_wcslen']

5 54 int_WideCharToMultiByte call site: 00375 /src/FreeRDP/winpr/libwinpr/crt/unicode_builtin.c:678
4 2827 5 :

['WLog_Get', 'WLog_PrintMessage', 'FIPS_mode_set', 'FIPS_mode', 'WLog_IsLevelActive']

4 2827 winpr_enable_fips call site: 00134 /src/FreeRDP/winpr/libwinpr/utils/ssl.c:246
4 947 5 :

['WLog_Get', 'WLog_PrintMessage', 'Sleep', 'InterlockedCompareExchangePointer', 'WLog_IsLevelActive']

4 947 winpr_InitOnceExecuteOnce call site: 00005 /src/FreeRDP/winpr/libwinpr/synch/init.c:64
2 2 1 :

['strlen']

2 1003 int_MultiByteToWideChar call site: 00272 /src/FreeRDP/winpr/libwinpr/crt/unicode_builtin.c:636

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 parse_file_buffer [function] [call site] 00001
2 freerdp_assistance_file_new [function] [call site] 00002
3 winpr_InitializeSSL [function] [call site] 00003
4 winpr_InitOnceExecuteOnce [function] [call site] 00004
5 InterlockedCompareExchangePointer [function] [call site] 00005
5 WLog_Get [function] [call site] 00006
6 WLog_GetRoot [function] [call site] 00007
7 winpr_InitOnceExecuteOnce [function] [call site] 00008
8 Sleep [function] [call site] 00009
9 usleep [call site] 00010
7 WLog_InitializeRoot [function] [call site] 00011
8 WLog_New [function] [call site] 00012
9 calloc [call site] 00013
9 _strdup [function] [call site] 00014
10 strdup [call site] 00015
10 WLog_Get [function] [call site] 00016
11 WLog_Get_int [function] [call site] 00017
12 WLog_FindChild [function] [call site] 00018
13 WLog_Lock [function] [call site] 00019
14 __assert_fail [call site] 00020
14 EnterCriticalSection [function] [call site] 00021
15 __assert_fail [call site] 00022
15 InterlockedIncrement [function] [call site] 00023
15 GetCurrentThreadId [function] [call site] 00024
16 pthread_self [call site] 00025
15 WaitForCriticalSection [function] [call site] 00026
16 __assert_fail [call site] 00027
16 sem_wait [call site] 00028
15 GetCurrentThreadId [function] [call site] 00029
13 strcmp [call site] 00030
13 WLog_Unlock [function] [call site] 00031
14 __assert_fail [call site] 00032
14 LeaveCriticalSection [function] [call site] 00033
15 __assert_fail [call site] 00034
15 InterlockedDecrement [function] [call site] 00035
15 UnWaitCriticalSection [function] [call site] 00036
16 __assert_fail [call site] 00037
16 sem_post [call site] 00038
15 InterlockedDecrement [function] [call site] 00039
12 WLog_New [function] [call site] 00040
13 WLog_ParseName [function] [call site] 00041
14 strchr [call site] 00042
14 calloc [call site] 00044
14 strchr [call site] 00045
13 calloc [call site] 00046
13 GetEnvironmentVariableA [function] [call site] 00047
14 getenv [call site] 00048
14 SetLastError [function] [call site] 00049
15 NtCurrentTeb [function] [call site] 00050
16 pthread_once [call site] 00051
16 sTebInitOnce [function] [call site] 00052
17 pthread_key_create [call site] 00053
17 sTebDestruct [function] [call site] 00054
16 pthread_getspecific [call site] 00055
16 calloc [call site] 00056
16 pthread_setspecific [call site] 00057
14 strlen [call site] 00058
13 GetEnvironmentVariableA [function] [call site] 00059
13 fprintf [call site] 00060
13 WLog_ParseLogLevel [function] [call site] 00061
14 _stricmp [function] [call site] 00062
15 strcasecmp [call site] 00063
14 _stricmp [function] [call site] 00064
14 _stricmp [function] [call site] 00065
14 _stricmp [function] [call site] 00066
14 _stricmp [function] [call site] 00067
14 _stricmp [function] [call site] 00068
14 _stricmp [function] [call site] 00069
13 WLog_SetLogLevel [function] [call site] 00070
14 WLog_UpdateInheritLevel [function] [call site] 00071
15 WLog_UpdateInheritLevel [function] [call site] 00072
14 WLog_reset_log_filters [function] [call site] 00073
15 WLog_reset_log_filters [function] [call site] 00074
13 WLog_GetFilterLogLevel [function] [call site] 00075
13 WLog_SetLogLevel [function] [call site] 00078
13 InitializeCriticalSectionAndSpinCount [function] [call site] 00079
14 InitializeCriticalSectionEx [function] [call site] 00080
15 __assert_fail [call site] 00081
15 WLog_Get [function] [call site] 00082
15 sem_init [call site] 00083
15 SetCriticalSectionSpinCount [function] [call site] 00084
16 __assert_fail [call site] 00085
12 WLog_AddChild [function] [call site] 00086
13 WLog_Lock [function] [call site] 00087
13 realloc [call site] 00088
13 WLog_Unlock [function] [call site] 00089
12 WLog_Free [function] [call site] 00090
13 WLog_Appender_Free [function] [call site] 00091
14 WLog_Layout_Free [function] [call site] 00092
14 DeleteCriticalSection [function] [call site] 00093
15 __assert_fail [call site] 00094
15 sem_destroy [call site] 00095
13 DeleteCriticalSection [function] [call site] 00096
8 GetEnvironmentVariableA [function] [call site] 00097
8 GetEnvironmentVariableA [function] [call site] 00098
8 fprintf [call site] 00099
8 WLog_SetLogAppenderType [function] [call site] 00105
9 WLog_Appender_Free [function] [call site] 00106
8 WLog_ParseFilters [function] [call site] 00107
9 GetEnvironmentVariableA [function] [call site] 00108
9 GetEnvironmentVariableA [function] [call site] 00109
9 WLog_AddStringLogFilters_int [function] [call site] 00110
10 strchr [call site] 00111
10 realloc [call site] 00112
10 strchr [call site] 00114
10 WLog_ParseFilter [function] [call site] 00115
11 strchr [call site] 00116
11 calloc [call site] 00118
11 strrchr [call site] 00119
11 WLog_ParseLogLevel [function] [call site] 00120
11 strchr [call site] 00121
10 WLog_reset_log_filters [function] [call site] 00122
8 atexit [call site] 00123
8 WLog_Uninit_ [function] [call site] 00124
8 WLog_Uninit_ [function] [call site] 00127
4 winpr_openssl_initialize [function] [call site] 00128
5 OPENSSL_init_ssl [call site] 00129
5 atexit [call site] 00130
5 winpr_openssl_cleanup [function] [call site] 00131
6 winpr_CleanupSSL [function] [call site] 00132
4 winpr_enable_fips [function] [call site] 00134
5 FIPS_mode [call site] 00136
5 FIPS_mode_set [call site] 00137
3 calloc [call site] 00140
3 ArrayList_New [function] [call site] 00141
4 calloc [call site] 00142
4 ArrayList_Object [function] [call site] 00143
5 __assert_fail [call site] 00144
4 ArrayList_EnsureCapacity [function] [call site] 00145
5 __assert_fail [call site] 00146
5 __assert_fail [call site] 00147
5 realloc [call site] 00148
4 InitializeCriticalSectionAndSpinCount [function] [call site] 00149
4 ArrayList_Free [function] [call site] 00150
5 ArrayList_Clear [function] [call site] 00151
6 __assert_fail [call site] 00152
6 ArrayList_Lock_Conditional [function] [call site] 00153
7 __assert_fail [call site] 00154
7 EnterCriticalSection [function] [call site] 00155
6 ArrayList_Unlock_Conditional [function] [call site] 00156
7 __assert_fail [call site] 00157
7 LeaveCriticalSection [function] [call site] 00158
5 DeleteCriticalSection [function] [call site] 00159
3 ArrayList_New [function] [call site] 00160
3 ArrayList_New [function] [call site] 00161
3 setup_string [function] [call site] 00162
4 __assert_fail [call site] 00163
4 ArrayList_Object [function] [call site] 00164
3 freerdp_assistance_file_free [function] [call site] 00165
4 update_password [function] [call site] 00166
4 update_connectionstring2 [function] [call site] 00168
5 strndup [call site] 00169
5 update_connectionstring2_nocopy [function] [call site] 00170
6 __assert_fail [call site] 00171
4 ArrayList_Free [function] [call site] 00172
4 ArrayList_Free [function] [call site] 00173
4 ArrayList_Free [function] [call site] 00174
2 calloc [call site] 00175
2 freerdp_assistance_parse_file_buffer [function] [call site] 00176
3 __assert_fail [call site] 00177
3 strndup [call site] 00180
3 strnlen [call site] 00181
3 freerdp_assistance_parse_file_buffer_int [function] [call site] 00183
4 __assert_fail [call site] 00184
4 __assert_fail [call site] 00185
4 __assert_fail [call site] 00186
4 update_password [function] [call site] 00187
4 freerdp_assistance_consume_input_and_get_element [function] [call site] 00188
5 __assert_fail [call site] 00189
5 __assert_fail [call site] 00190
5 __assert_fail [call site] 00191
5 __assert_fail [call site] 00192
5 strlen [call site] 00193
5 freerdp_assistance_contains_element [function] [call site] 00194
6 __assert_fail [call site] 00195
6 __assert_fail [call site] 00196
6 __assert_fail [call site] 00197
6 __assert_fail [call site] 00198
6 __assert_fail [call site] 00199
6 strstr [call site] 00200
6 strnlen [call site] 00201
6 strstr [call site] 00203
6 snprintf [call site] 00205
6 __assert_fail [call site] 00206
6 __assert_fail [call site] 00207
6 strrstr [function] [call site] 00208
7 strstr [call site] 00209
6 strnlen [call site] 00210
4 freerdp_assistance_parse_uploadinfo [function] [call site] 00212
5 strnlen [call site] 00213
5 freerdp_assistance_parse_attr [function] [call site] 00215
6 __assert_fail [call site] 00216
6 __assert_fail [call site] 00217
6 __assert_fail [call site] 00218
6 snprintf [call site] 00219
6 __assert_fail [call site] 00220
6 __assert_fail [call site] 00221
6 strstr [call site] 00222
6 strlen [call site] 00223
6 strchr [call site] 00224
5 strncmp [call site] 00227
5 freerdp_assistance_consume_input_and_get_element [function] [call site] 00229
5 freerdp_assistance_parse_attr_str [function] [call site] 00230
6 freerdp_assistance_parse_attr [function] [call site] 00231
6 update_option [function] [call site] 00232
7 __assert_fail [call site] 00233
7 strndup [call site] 00234
5 freerdp_assistance_parse_attr_str [function] [call site] 00235
5 freerdp_assistance_parse_attr_str [function] [call site] 00236
5 freerdp_assistance_parse_attr_bool [function] [call site] 00237
6 __assert_fail [call site] 00238
6 freerdp_assistance_parse_attr [function] [call site] 00239
5 freerdp_assistance_parse_attr_str [function] [call site] 00240
5 strstr [call site] 00241
5 strlen [call site] 00242
5 strstr [call site] 00243
5 freerdp_assistance_parse_attr_uint32 [function] [call site] 00244
6 __assert_fail [call site] 00245
6 freerdp_assistance_parse_attr [function] [call site] 00246
6 strncpy [call site] 00248
6 __errno_location [call site] 00249
6 strtoul [call site] 00250
6 __errno_location [call site] 00251
5 freerdp_assistance_parse_attr_uint32 [function] [call site] 00253
5 freerdp_assistance_parse_attr_bool [function] [call site] 00254
5 freerdp_assistance_hex_string_to_bin [function] [call site] 00255
6 strlen [call site] 00256
6 calloc [call site] 00257
6 winpr_HexStringToBinBuffer [function] [call site] 00258
5 freerdp_assistance_decrypt2 [function] [call site] 00262
6 __assert_fail [call site] 00263
6 ConvertUtf8ToWCharAlloc [function] [call site] 00264
7 ConvertUtf8ToWChar [function] [call site] 00265
8 strlen [call site] 00266
8 ConvertUtf8NToWChar [function] [call site] 00267
9 strnlen [call site] 00268
9 __assert_fail [call site] 00269
9 SetLastError [function] [call site] 00270
9 MultiByteToWideChar [function] [call site] 00271
10 int_MultiByteToWideChar [function] [call site] 00272
11 strlen [call site] 00273
11 WLog_Get [function] [call site] 00274
11 winpr_ConvertUTF8toUTF16 [function] [call site] 00275
12 strlen [call site] 00276
12 winpr_ConvertUTF8toUTF16_Internal [function] [call site] 00277
13 isLegalUTF8 [function] [call site] 00278
12 winpr_ConvertUTF8toUTF16_Internal [function] [call site] 00279
12 SetLastError [function] [call site] 00280
7 ConvertUtf8ToWChar [function] [call site] 00281
7 __assert_fail [call site] 00282
6 winpr_Digest [function] [call site] 00284
7 winpr_Digest_New [function] [call site] 00285
8 calloc [call site] 00286
8 EVP_MD_CTX_new [call site] 00287
8 winpr_Digest_Free [function] [call site] 00288
9 EVP_MD_CTX_free [call site] 00289
7 winpr_Digest_Init [function] [call site] 00290
8 __assert_fail [call site] 00291
8 winpr_openssl_get_evp_md [function] [call site] 00292
9 winpr_md_type_to_string [function] [call site] 00293
9 EVP_get_digestbyname [call site] 00294
8 winpr_Digest_Init_Internal [function] [call site] 00295
9 __assert_fail [call site] 00296
9 EVP_DigestInit_ex [call site] 00297
9 winpr_md_type_to_string [function] [call site] 00298
7 winpr_Digest_Update [function] [call site] 00299
8 EVP_DigestUpdate [call site] 00300
7 winpr_Digest_Final [function] [call site] 00301
8 __assert_fail [call site] 00302
7 winpr_Digest_Free [function] [call site] 00303
6 freerdp_assistance_crypt_derive_key_sha1 [function] [call site] 00304
7 calloc [call site] 00305
7 winpr_Digest [function] [call site] 00306
7 winpr_Digest [function] [call site] 00307
6 winpr_Cipher_New [function] [call site] 00308
7 winpr_openssl_get_evp_cipher [function] [call site] 00309
8 EVP_enc_null [call site] 00310
8 EVP_get_cipherbyname [call site] 00311
8 EVP_get_cipherbyname [call site] 00312
8 EVP_get_cipherbyname [call site] 00313
8 EVP_get_cipherbyname [call site] 00314
8 EVP_get_cipherbyname [call site] 00315
8 EVP_get_cipherbyname [call site] 00316
8 EVP_get_cipherbyname [call site] 00317
8 EVP_get_cipherbyname [call site] 00318
8 EVP_get_cipherbyname [call site] 00319
8 EVP_get_cipherbyname [call site] 00320
8 EVP_get_cipherbyname [call site] 00321
8 EVP_get_cipherbyname [call site] 00322
8 EVP_get_cipherbyname [call site] 00323
8 EVP_get_cipherbyname [call site] 00324
8 EVP_get_cipherbyname [call site] 00325
8 EVP_get_cipherbyname [call site] 00326
8 EVP_get_cipherbyname [call site] 00327
8 EVP_get_cipherbyname [call site] 00328
8 EVP_get_cipherbyname [call site] 00329
8 EVP_get_cipherbyname [call site] 00330
8 EVP_get_cipherbyname [call site] 00331
8 EVP_get_cipherbyname [call site] 00332
8 EVP_get_cipherbyname [call site] 00333
8 EVP_get_cipherbyname [call site] 00334
8 EVP_get_cipherbyname [call site] 00335
8 EVP_get_cipherbyname [call site] 00336
8 EVP_get_cipherbyname [call site] 00337
8 EVP_get_cipherbyname [call site] 00338
8 EVP_get_cipherbyname [call site] 00339
8 EVP_get_cipherbyname [call site] 00340
8 EVP_get_cipherbyname [call site] 00341
8 EVP_get_cipherbyname [call site] 00342
8 EVP_get_cipherbyname [call site] 00343
8 EVP_get_cipherbyname [call site] 00344
8 EVP_get_cipherbyname [call site] 00345
8 EVP_get_cipherbyname [call site] 00346
8 EVP_get_cipherbyname [call site] 00347
8 EVP_get_cipherbyname [call site] 00348
8 EVP_get_cipherbyname [call site] 00349
8 EVP_get_cipherbyname [call site] 00350
8 EVP_get_cipherbyname [call site] 00351
8 EVP_get_cipherbyname [call site] 00352
8 EVP_get_cipherbyname [call site] 00353
8 EVP_get_cipherbyname [call site] 00354
7 EVP_CIPHER_CTX_new [call site] 00355
7 EVP_CipherInit_ex [call site] 00356
7 EVP_CIPHER_CTX_set_padding [call site] 00357
6 calloc [call site] 00358
6 winpr_Cipher_Update [function] [call site] 00359
7 EVP_CipherUpdate [call site] 00361
6 winpr_Cipher_Final [function] [call site] 00363
7 EVP_CipherFinal_ex [call site] 00364
6 update_connectionstring2_wchar [function] [call site] 00366
7 ConvertWCharNToUtf8Alloc [function] [call site] 00367
8 ConvertWCharNToUtf8 [function] [call site] 00368
9 __assert_fail [call site] 00369
9 _wcsnlen [function] [call site] 00370
10 __assert_fail [call site] 00371
9 SetLastError [function] [call site] 00372
9 WideCharToMultiByte [function] [call site] 00373
10 int_WideCharToMultiByte [function] [call site] 00374
11 __assert_fail [call site] 00375
11 _wcslen [function] [call site] 00376
12 __assert_fail [call site] 00377
11 winpr_ConvertUTF16toUTF8 [function] [call site] 00378
12 winpr_ConvertUTF16toUTF8_Internal [function] [call site] 00380
12 winpr_ConvertUTF16toUTF8_Internal [function] [call site] 00381
12 SetLastError [function] [call site] 00382
8 calloc [call site] 00383
8 ConvertWCharNToUtf8 [function] [call site] 00384
8 __assert_fail [call site] 00385
7 update_connectionstring2_nocopy [function] [call site] 00386
6 freerdp_assistance_parse_connection_string2 [function] [call site] 00388
7 freerdp_assistance_consume_input_and_get_element [function] [call site] 00390
7 freerdp_assistance_get_element [function] [call site] 00391
8 __assert_fail [call site] 00392
8 __assert_fail [call site] 00393
8 __assert_fail [call site] 00394
8 __assert_fail [call site] 00395
8 freerdp_assistance_contains_element [function] [call site] 00396
7 freerdp_assistance_parse_find_elements_of_c [function] [call site] 00397
8 freerdp_assistance_parse_all_elements_of [function] [call site] 00398
9 freerdp_assistance_get_element [function] [call site] 00399
9 strnlen [call site] 00400
7 freerdp_assistance_parse_attr_str [function] [call site] 00401
7 freerdp_assistance_parse_attr_str [function] [call site] 00402
7 freerdp_assistance_parse_attr_str [function] [call site] 00403
6 winpr_Cipher_Free [function] [call site] 00404
7 EVP_CIPHER_CTX_free [call site] 00405
5 freerdp_assistance_parse_connection_string1 [function] [call site] 00407
6 strcmp [call site] 00409
6 strcmp [call site] 00410
6 strcmp [call site] 00411
6 strcmp [call site] 00412
6 freerdp_assistance_parse_address_list [function] [call site] 00415
7 strtok [call site] 00417
7 strchr [call site] 00418
7 append_address [function] [call site] 00419
8 __errno_location [call site] 00420
8 __errno_location [call site] 00421
8 strlen [call site] 00423
8 append_address_to_list [function] [call site] 00424
9 ArrayList_Append [function] [call site] 00425
10 __assert_fail [call site] 00426
10 ArrayList_Lock_Conditional [function] [call site] 00427
10 ArrayList_EnsureCapacity [function] [call site] 00428
10 ArrayList_SetItem [function] [call site] 00429
11 __assert_fail [call site] 00430
10 ArrayList_Unlock_Conditional [function] [call site] 00431
8 ArrayList_Append [function] [call site] 00432
5 freerdp_assistance_encrypt_pass_stub [function] [call site] 00434
6 ConvertUtf8ToWCharAlloc [function] [call site] 00435
6 ConvertUtf8ToWCharAlloc [function] [call site] 00436
6 winpr_Digest [function] [call site] 00437
6 calloc [call site] 00438
6 winpr_Cipher_New [function] [call site] 00439
6 winpr_Cipher_Update [function] [call site] 00441
6 winpr_Cipher_Final [function] [call site] 00443
6 winpr_Cipher_Free [function] [call site] 00445
6 winpr_Cipher_Free [function] [call site] 00446
4 freerdp_assistance_contains_element [function] [call site] 00447
4 update_connectionstring2 [function] [call site] 00449
4 freerdp_assistance_parse_connection_string2 [function] [call site] 00450
2 freerdp_assistance_file_free [function] [call site] 00451