fuzzing - avoid sha1 for random seed every iteration

This commit is contained in:
Matt Johnston 2020-11-01 14:01:37 +08:00
parent b8352f8164
commit 1b6e16ae7c

View File

@ -151,12 +151,17 @@ static void write_urandom()
#if DROPBEAR_FUZZ
void fuzz_seed(const unsigned char* dat, unsigned int len) {
hash_state hs;
sha1_init(&hs);
sha1_process(&hs, "fuzzfuzzfuzz", strlen("fuzzfuzzfuzz"));
sha1_process(&hs, dat, len);
sha1_done(&hs, hashpool);
static unsigned char keep_pool[SHA1_HASH_SIZE];
static int once = 0;
if (!once) {
once = 1;
hash_state hs;
sha1_init(&hs);
sha1_process(&hs, "fuzzfuzzfuzz", strlen("fuzzfuzzfuzz"));
sha1_process(&hs, dat, len);
sha1_done(&hs, keep_pool);
}
memcpy(hashpool, keep_pool, sizeof(keep_pool));
counter = 0;
donerandinit = 1;
}