Fuzz introspector: libwget_base64_fuzzer
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
11 11 1 :

['buffer_realloc']

11 11 wget_buffer_memcat call site: 00016 /src/wget2/libwget/buffer.c:384
0 0 None 586 645 wget_buffer_vprintf_append call site: 00015 /src/wget2/libwget/buffer_printf.c:346
0 0 None 586 645 wget_buffer_vprintf_append call site: 00015 /src/wget2/libwget/buffer_printf.c:356
0 0 None 586 645 wget_buffer_vprintf_append call site: 00016 /src/wget2/libwget/buffer_printf.c:359
0 0 None 0 8 wget_base64_decode_alloc call site: 00006 /src/wget2/libwget/base64.c:158
0 0 None 0 0 wget_base64_decode_alloc call site: 00007 /src/wget2/libwget/base64.c:163
0 0 None 0 0 wget_base64_encode_vprintf_alloc call site: 00011 /src/wget2/libwget/base64.c:278
0 0 None 0 0 wget_buffer_init call site: 00012 /src/wget2/libwget/buffer.c:155
0 0 None 0 0 wget_buffer_init call site: 00012 /src/wget2/libwget/buffer.c:161
0 0 None 0 0 wget_buffer_init call site: 00013 /src/wget2/libwget/buffer.c:164
0 0 None 0 0 wget_vasprintf call site: 00014 /src/wget2/libwget/printf.c:64

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 __assert_fail [call site] 00001
1 wget_base64_is_string [function] [call site] 00002
1 wget_base64_decode_alloc [function] [call site] 00004
2 wget_base64_get_decoded_length [function] [call site] 00005
2 wget_malloc [function] [call site] 00006
2 wget_base64_decode [function] [call site] 00007
1 wget_base64_encode_printf_alloc [function] [call site] 00009
2 wget_base64_encode_vprintf_alloc [function] [call site] 00010
3 wget_vasprintf [function] [call site] 00011
4 wget_buffer_init [function] [call site] 00012
5 wget_malloc [function] [call site] 00013
4 wget_buffer_vprintf [function] [call site] 00014
5 wget_buffer_vprintf_append [function] [call site] 00015
6 wget_buffer_memcat [function] [call site] 00016
7 buffer_realloc [function] [call site] 00017
8 wget_realloc [function] [call site] 00018
8 wget_malloc [function] [call site] 00019
6 wget_buffer_strcat [function] [call site] 00020
7 strlen [call site] 00021
7 wget_buffer_memcat [function] [call site] 00022
6 convert_dec_fast [function] [call site] 00023
7 wget_buffer_memcat [function] [call site] 00024
6 wget_buffer_memcat [function] [call site] 00025
6 convert_pointer [function] [call site] 00026
7 wget_buffer_memcat [function] [call site] 00027
7 wget_buffer_memcat [function] [call site] 00028
7 wget_buffer_memcat [function] [call site] 00029
6 wget_buffer_memset_append [function] [call site] 00030
7 buffer_realloc [function] [call site] 00031
6 read_flag_chars [function] [call site] 00032
6 read_field_width [function] [call site] 00033
7 c_isdigit [function] [call site] 00034
6 read_field_width [function] [call site] 00035
6 read_precision [function] [call site] 00036
6 read_precision [function] [call site] 00039
6 copy_string [function] [call site] 00040
7 wget_buffer_strcat [function] [call site] 00041
7 strnlen [call site] 00042
7 strlen [call site] 00043
7 wget_buffer_memcat [function] [call site] 00044
7 wget_buffer_memset_append [function] [call site] 00045
7 wget_buffer_memset_append [function] [call site] 00046
7 wget_buffer_memcat [function] [call site] 00047
7 wget_buffer_memcat [function] [call site] 00048
7 wget_buffer_memcat [function] [call site] 00049
6 copy_string [function] [call site] 00050
6 convert_dec [function] [call site] 00051
7 wget_buffer_memset_append [function] [call site] 00052
7 wget_buffer_memset_append [function] [call site] 00053
7 wget_buffer_memcat [function] [call site] 00054
7 wget_buffer_memset_append [function] [call site] 00055
7 wget_buffer_memcat [function] [call site] 00056
7 wget_buffer_memset_append [function] [call site] 00057
7 wget_buffer_memset_append [function] [call site] 00058
7 wget_buffer_memset_append [function] [call site] 00059
7 wget_buffer_memset_append [function] [call site] 00060
7 wget_buffer_memset_append [function] [call site] 00061
7 wget_buffer_memset_append [function] [call site] 00062
7 wget_buffer_memset_append [function] [call site] 00063
7 wget_buffer_memset_append [function] [call site] 00064
7 wget_buffer_memset_append [function] [call site] 00065
7 wget_buffer_memset_append [function] [call site] 00066
7 wget_buffer_memset_append [function] [call site] 00067
7 wget_buffer_memcat [function] [call site] 00068
7 wget_buffer_memset_append [function] [call site] 00069
7 wget_buffer_memset_append [function] [call site] 00070
7 wget_buffer_memcat [function] [call site] 00071
7 wget_buffer_memset_append [function] [call site] 00072
7 wget_buffer_memset_append [function] [call site] 00073
7 wget_buffer_memcat [function] [call site] 00074
6 convert_dec [function] [call site] 00075
6 convert_dec [function] [call site] 00076
6 convert_dec [function] [call site] 00077
6 convert_dec [function] [call site] 00078
6 convert_dec [function] [call site] 00079
6 wget_buffer_memset_append [function] [call site] 00080
4 wget_realloc [function] [call site] 00081
3 wget_base64_encode_alloc [function] [call site] 00082
4 wget_base64_get_encoded_length [function] [call site] 00083
4 wget_malloc [function] [call site] 00084
4 wget_base64_encode [function] [call site] 00085
5 base64_encode [function] [call site] 00086
1 wget_base64_get_decoded_length [function] [call site] 00087
1 wget_base64_get_encoded_length [function] [call site] 00088