From 0800647391ac42dea364e409100e8961686fae34 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Mon, 26 Jun 2000 13:55:31 +1000 Subject: Fix fixed egd code --- ChangeLog | 1 + entropy.c | 14 ++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9fd1c7864..f6f70c91e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ - (djm) Added password expiry checking (no password change support) - (djm) Make EGD failures non-fatal if OpenSSL's entropy pool is still OK based on patch from Lutz Jaenicke + - (djm) Fix fixed EGD code. - OpenBSD CVS update - provos@cvs.openbsd.org 2000/06/25 14:17:58 [channels.c] diff --git a/entropy.c b/entropy.c index 83759ca65..d8eba6547 100644 --- a/entropy.c +++ b/entropy.c @@ -35,7 +35,7 @@ #include #include -RCSID("$Id: entropy.c,v 1.15 2000/06/26 03:01:33 djm Exp $"); +RCSID("$Id: entropy.c,v 1.16 2000/06/26 03:55:31 djm Exp $"); #ifndef offsetof # define offsetof(type, member) ((size_t) &((type *)0)->member) @@ -158,11 +158,13 @@ seed_rng(void) debug("Seeding random number generator"); - if (!get_random_bytes(buf, sizeof(buf)) && !RAND_status()) - fatal("Entropy collection failed and entropy exhausted"); - - RAND_add(buf, sizeof(buf), sizeof(buf)); - + if (!get_random_bytes(buf, sizeof(buf))) { + if (!RAND_status()) + fatal("Entropy collection failed and entropy exhausted"); + } else { + RAND_add(buf, sizeof(buf), sizeof(buf)); + } + memset(buf, '\0', sizeof(buf)); } -- cgit v1.2.3