Fuzz introspector: libcaes_crypt_xts_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
85 85 1 :

['libcaes_internal_context_set_decryption_key']

85 117 libcaes_context_set_key call site: 00033 /src/libcaes/libcaes/libcaes_context.c:585
16 16 5 :

['free', 'libcerror_error_resize', 'libcerror_error_initialize', 'strlen', 'realloc']

16 16 libcerror_error_set call site: 00002 /src/libcaes/libcerror/libcerror_error.c:328
0 68 3 :

['free', 'libcaes_context_free', 'libcerror_error_set']

0 68 libcaes_tweaked_context_initialize call site: 00022 /src/libcaes/libcaes/libcaes_tweaked_context.c:155
0 32 2 :

['free', 'libcerror_error_set']

0 32 libcaes_context_initialize call site: 00018 /src/libcaes/libcaes/libcaes_context.c:360
0 32 1 :

['libcerror_error_set']

0 32 libcaes_context_free call site: 00024 /src/libcaes/libcaes/libcaes_context.c:406
0 32 1 :

['libcerror_error_set']

0 32 libcaes_context_set_key call site: 00034 /src/libcaes/libcaes/libcaes_context.c:587
0 32 1 :

['libcerror_error_set']

0 32 libcaes_initialize_tables call site: 00018 /src/libcaes/libcaes/libcaes_context.c:644
0 32 1 :

['libcerror_error_set']

0 32 libcaes_internal_context_set_encryption_key call site: 00036 /src/libcaes/libcaes/libcaes_context.c:1064
0 32 1 :

['libcerror_error_set']

0 32 libcaes_tweaked_context_free call site: 00090 /src/libcaes/libcaes/libcaes_tweaked_context.c:275
0 32 1 :

['libcerror_error_set']

0 32 libcaes_tweaked_context_set_keys call site: 00052 /src/libcaes/libcaes/libcaes_tweaked_context.c:435
0 32 1 :

['libcerror_error_set']

0 32 libcaes_crypt_xts call site: 00084 /src/libcaes/libcaes/libcaes_tweaked_context.c:1244
0 0 None 0 356 libcaes_crypt_xts call site: 00075 /src/libcaes/libcaes/libcaes_tweaked_context.c:981

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 libcaes_tweaked_context_initialize [function] [call site] 00001
2 libcerror_error_set [function] [call site] 00002
3 strlen [call site] 00003
3 libcerror_error_initialize [function] [call site] 00004
3 libcerror_error_resize [function] [call site] 00005
4 realloc [call site] 00006
4 realloc [call site] 00007
3 realloc [call site] 00008
3 vsnprintf [call site] 00009
2 libcerror_error_set [function] [call site] 00010
2 libcerror_error_set [function] [call site] 00011
2 libcerror_error_set [function] [call site] 00012
2 libcaes_context_initialize [function] [call site] 00013
3 libcerror_error_set [function] [call site] 00014
3 libcerror_error_set [function] [call site] 00015
3 libcerror_error_set [function] [call site] 00016
3 libcerror_error_set [function] [call site] 00017
3 libcaes_initialize_tables [function] [call site] 00018
4 libcerror_error_set [function] [call site] 00019
3 libcerror_error_set [function] [call site] 00020
2 libcerror_error_set [function] [call site] 00021
2 libcaes_context_initialize [function] [call site] 00022
2 libcerror_error_set [function] [call site] 00023
2 libcaes_context_free [function] [call site] 00024
3 libcerror_error_set [function] [call site] 00025
1 libcaes_tweaked_context_set_keys [function] [call site] 00026
2 libcerror_error_set [function] [call site] 00027
2 libcerror_error_set [function] [call site] 00028
2 libcerror_error_set [function] [call site] 00029
2 libcaes_context_set_key [function] [call site] 00030
3 libcerror_error_set [function] [call site] 00031
3 libcerror_error_set [function] [call site] 00032
3 libcerror_error_set [function] [call site] 00033
3 libcaes_internal_context_set_encryption_key [function] [call site] 00034
4 libcerror_error_set [function] [call site] 00035
4 libcerror_error_set [function] [call site] 00036
4 libcerror_error_set [function] [call site] 00037
3 libcerror_error_set [function] [call site] 00038
3 libcaes_internal_context_set_decryption_key [function] [call site] 00039
4 libcerror_error_set [function] [call site] 00040
4 libcerror_error_set [function] [call site] 00041
4 libcerror_error_set [function] [call site] 00042
4 libcaes_context_initialize [function] [call site] 00043
4 libcerror_error_set [function] [call site] 00044
4 libcaes_internal_context_set_encryption_key [function] [call site] 00045
4 libcerror_error_set [function] [call site] 00046
4 libcaes_context_free [function] [call site] 00047
4 libcerror_error_set [function] [call site] 00048
4 libcaes_context_free [function] [call site] 00049
3 libcerror_error_set [function] [call site] 00050
2 libcerror_error_set [function] [call site] 00051
2 libcaes_context_set_key [function] [call site] 00052
2 libcerror_error_set [function] [call site] 00053
1 libcaes_crypt_xts [function] [call site] 00054
2 libcerror_error_set [function] [call site] 00055
2 libcerror_error_set [function] [call site] 00056
2 libcerror_error_set [function] [call site] 00057
2 libcerror_error_set [function] [call site] 00058
2 libcerror_error_set [function] [call site] 00059
2 libcerror_error_set [function] [call site] 00060
2 libcerror_error_set [function] [call site] 00061
2 libcerror_error_set [function] [call site] 00062
2 libcerror_error_set [function] [call site] 00063
2 libcerror_error_set [function] [call site] 00064
2 libcaes_crypt_ecb [function] [call site] 00065
3 libcerror_error_set [function] [call site] 00066
3 libcerror_error_set [function] [call site] 00067
3 libcerror_error_set [function] [call site] 00068
3 libcerror_error_set [function] [call site] 00069
3 libcerror_error_set [function] [call site] 00070
3 libcerror_error_set [function] [call site] 00071
3 libcerror_error_set [function] [call site] 00072
3 libcerror_error_set [function] [call site] 00073
2 libcerror_error_set [function] [call site] 00074
2 libcerror_error_set [function] [call site] 00075
2 libcerror_error_set [function] [call site] 00076
2 libcaes_crypt_ecb [function] [call site] 00077
2 libcerror_error_set [function] [call site] 00078
2 libcerror_error_set [function] [call site] 00079
2 libcerror_error_set [function] [call site] 00080
2 libcerror_error_set [function] [call site] 00081
2 libcerror_error_set [function] [call site] 00082
2 libcaes_crypt_ecb [function] [call site] 00083
2 libcerror_error_set [function] [call site] 00084
2 libcerror_error_set [function] [call site] 00085
1 libcaes_tweaked_context_free [function] [call site] 00086
2 libcerror_error_set [function] [call site] 00087
2 libcaes_context_free [function] [call site] 00088
2 libcerror_error_set [function] [call site] 00089
2 libcaes_context_free [function] [call site] 00090
2 libcerror_error_set [function] [call site] 00091