Fuzz introspector: sha256_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
0 0 None 0 0 SHA256_init(t_hash_state**) call site: 00000 /src/pycryptodome/src/hash_SHA2_template.c:305
0 0 None 0 0 SHA256_init(t_hash_state**) call site: 00000 /src/pycryptodome/src/hash_SHA2_template.c:310
0 0 None 0 0 SHA256_update(t_hash_state*,unsignedcharconst*,unsignedlong) call site: 00000 /src/pycryptodome/src/hash_SHA2_template.c:368
0 0 None 0 0 SHA256_digest(t_hash_stateconst*,unsignedchar*,unsignedlong) call site: 00000 /src/pycryptodome/src/hash_SHA2_template.c:428
0 0 None 0 0 SHA256_digest(t_hash_stateconst*,unsignedchar*,unsignedlong) call site: 00000 /src/pycryptodome/src/hash_SHA2_template.c:432
0 0 None 0 0 sha_finalize(t_hash_state*,unsignedchar*,unsignedlong) call site: 00000 /src/pycryptodome/src/hash_SHA2_template.c:382
0 0 None 0 0 sha_finalize(t_hash_state*,unsignedchar*,unsignedlong) call site: 00000 /src/pycryptodome/src/hash_SHA2_template.c:387

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 SHA256_init(t_hash_state**) [function] [call site] 00001
2 calloc [call site] 00002
1 SHA256_update(t_hash_state*, unsigned char const*, unsigned long) [function] [call site] 00003
2 __assert_fail [call site] 00004
2 sha_compress(t_hash_state*) [function] [call site] 00005
3 load_u8to32_big(unsigned char const*) [function] [call site] 00006
4 u8to32_big(unsigned int*, unsigned char const*) [function] [call site] 00007
2 add_bits(t_hash_state*, unsigned int) [function] [call site] 00008
1 SHA256_digest(t_hash_state const*, unsigned char*, unsigned long) [function] [call site] 00009
2 sha_finalize(t_hash_state*, unsigned char*, unsigned long) [function] [call site] 00010
3 add_bits(t_hash_state*, unsigned int) [function] [call site] 00011
3 sha_compress(t_hash_state*) [function] [call site] 00012
3 u32to8_big(unsigned char*, unsigned int const*) [function] [call site] 00013
3 u32to8_big(unsigned char*, unsigned int const*) [function] [call site] 00014
3 sha_compress(t_hash_state*) [function] [call site] 00015
3 put_be(unsigned int, unsigned char*) [function] [call site] 00016
1 SHA256_destroy(t_hash_state*) [function] [call site] 00017