Fuzz introspector: fuzz-crypto
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 :

['abort']

2 2 encode_base64_differential call site: 00026 /src/pjsip/tests/fuzz/fuzz-crypto.c:85
2 2 1 :

['abort']

2 2 md5_differential call site: 00050 /src/pjsip/tests/fuzz/fuzz-crypto.c:120
2 2 1 :

['abort']

2 2 sha1_differential call site: 00071 /src/pjsip/tests/fuzz/fuzz-crypto.c:145
2 2 1 :

['abort']

2 2 crc32_differential call site: 00078 /src/pjsip/tests/fuzz/fuzz-crypto.c:161
0 0 None 2 2 encode_base64_differential call site: 00015 /src/pjsip/tests/fuzz/fuzz-crypto.c:61
0 0 None 2 2 encode_base64_differential call site: 00017 /src/pjsip/tests/fuzz/fuzz-crypto.c:67
0 0 None 0 12 pj_md5_update call site: 00032 /src/pjsip/pjlib-util/build/../src/pjlib-util/md5.c:80
0 0 None 0 12 pj_md5_update call site: 00032 /src/pjsip/pjlib-util/build/../src/pjlib-util/md5.c:88
0 0 None 0 4 pj_sha1_update call site: 00054 /src/pjsip/pjlib-util/build/../src/pjlib-util/sha1.c:211

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 encode_base64_differential [function] [call site] 00001
2 pj_base64_encode [function] [call site] 00002
3 b64_encode [function] [call site] 00003
4 __assert_fail [call site] 00004
4 __assert_fail [call site] 00005
4 base256to64 [function] [call site] 00006
4 base256to64 [function] [call site] 00007
4 base256to64 [function] [call site] 00008
2 BIO_f_base64 [call site] 00009
2 BIO_set_flags [call site] 00010
2 BIO_s_mem [call site] 00011
2 BIO_push [call site] 00012
2 BIO_write [call site] 00013
2 BIO_ctrl [call site] 00014
2 BIO_ctrl [call site] 00015
2 abort [call site] 00016
2 memcmp [call site] 00017
2 abort [call site] 00018
2 BIO_free_all [call site] 00019
2 pj_base64_decode [function] [call site] 00020
3 b64_decode [function] [call site] 00021
4 __assert_fail [call site] 00022
4 __assert_fail [call site] 00023
4 base256_char [function] [call site] 00024
4 __assert_fail [call site] 00025
2 memcmp [call site] 00026
2 abort [call site] 00027
1 decode_base64_differential [function] [call site] 00028
2 pj_base64_decode [function] [call site] 00029
1 md5_differential [function] [call site] 00030
2 pj_md5_init [function] [call site] 00031
2 pj_md5_update [function] [call site] 00032
3 pj_memcpy [function] [call site] 00033
3 pj_memcpy [function] [call site] 00034
3 MD5Transform [function] [call site] 00035
3 pj_memcpy [function] [call site] 00036
3 MD5Transform [function] [call site] 00037
3 pj_memcpy [function] [call site] 00038
2 MD5 [call site] 00049
2 memcmp [call site] 00050
2 abort [call site] 00051
1 sha1_differential [function] [call site] 00052
2 pj_sha1_init [function] [call site] 00053
2 pj_sha1_update [function] [call site] 00054
3 pj_memcpy [function] [call site] 00055
3 SHA1_Transform [function] [call site] 00056
3 pj_memcpy [function] [call site] 00057
3 SHA1_Transform [function] [call site] 00058
3 pj_memcpy [function] [call site] 00059
2 pj_sha1_final [function] [call site] 00060
3 pj_sha1_update [function] [call site] 00061
3 pj_sha1_update [function] [call site] 00062
3 pj_sha1_update [function] [call site] 00063
3 pj_memset [function] [call site] 00064
3 pj_memset [function] [call site] 00065
3 pj_memset [function] [call site] 00066
3 pj_memset [function] [call site] 00067
2 SHA1_Init [call site] 00068
2 SHA1_Update [call site] 00069
2 SHA1_Final [call site] 00070
2 memcmp [call site] 00071
2 abort [call site] 00072
1 crc32_differential [function] [call site] 00073
2 pj_crc32_calc [function] [call site] 00074
3 pj_crc32_init [function] [call site] 00075
3 pj_crc32_update [function] [call site] 00076
3 pj_crc32_final [function] [call site] 00077
2 crc32 [call site] 00078
2 abort [call site] 00079