diff --git a/yarrow256.c b/yarrow256.c index af3160d91d1cb8747d313be6681955da9a6f125a..ad6c3b5604961686435295308d9e41533b248c8f 100644 --- a/yarrow256.c +++ b/yarrow256.c @@ -84,6 +84,11 @@ yarrow256_init(struct yarrow256_ctx *ctx, ctx->seeded = 0; + /* Not strictly, necessary, but it makes it easier to see if the + * values are sane. */ + memset(ctx->seed_file, 0, YARROW256_SEED_FILE_SIZE); + memset(ctx->counter, 0, sizeof(ctx->counter)); + ctx->nsources = n; ctx->sources = s; @@ -228,7 +233,7 @@ yarrow_slow_reseed(struct yarrow256_ctx *ctx) sha256_init(&ctx->pools[YARROW_SLOW]); /* Feed it into the fast pool */ - sha256_update(&ctx->pools[YARROW_SLOW], sizeof(digest), digest); + sha256_update(&ctx->pools[YARROW_FAST], sizeof(digest), digest); yarrow_fast_reseed(ctx);