summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormickey <mickey@openbsd.org>2002-03-21 23:02:22 +0000
committermickey <mickey@openbsd.org>2002-03-21 23:02:22 +0000
commite821c59a41a4e32013ce75b51eb2b3cbd94b35a5 (patch)
treee9ad7233b62ad387fa743a4b7d74dd811e767fc0
parentUpdate. (diff)
downloadwireguard-openbsd-e821c59a41a4e32013ce75b51eb2b3cbd94b35a5.tar.xz
wireguard-openbsd-e821c59a41a4e32013ce75b51eb2b3cbd94b35a5.zip
on extract: better spl granularity, make sure pool is updated between runs; later pt out by camield@
-rw-r--r--sys/dev/rnd.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/rnd.c b/sys/dev/rnd.c
index 87316d8e719..de2c220e485 100644
--- a/sys/dev/rnd.c
+++ b/sys/dev/rnd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rnd.c,v 1.55 2002/03/14 01:26:52 millert Exp $ */
+/* $OpenBSD: rnd.c,v 1.56 2002/03/21 23:02:22 mickey Exp $ */
/*
* random.c -- A strong random number generator
@@ -866,9 +866,9 @@ extract_entropy(buf, nbytes)
rs->entropy_count -= nbytes * 8;
else
rs->entropy_count = 0;
+ splx(s);
MD5Final(buffer, &tmp);
bzero(&tmp, sizeof(tmp));
- splx(s);
/*
* In case the hash function has some recognizable
@@ -893,6 +893,7 @@ extract_entropy(buf, nbytes)
/* Modify pool so next hash will produce different results */
add_timer_randomness(nbytes);
+ dequeue_randomness(&random_state);
}
/* Wipe data from memory */