Module Name: src Committed By: maxv Date: Sun Jul 7 15:12:59 UTC 2019
Modified Files: src/sys/kern: kern_todr.c Log Message: The whole 'tv' structure gets added to the RND pool, so clear it first, otherwise each random buffer gets tainted by uninitialized bytes from the padding. To generate a diff of this commit: cvs rdiff -u -r1.39 -r1.40 src/sys/kern/kern_todr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/kern_todr.c diff -u src/sys/kern/kern_todr.c:1.39 src/sys/kern/kern_todr.c:1.40 --- src/sys/kern/kern_todr.c:1.39 Mon Apr 13 16:36:54 2015 +++ src/sys/kern/kern_todr.c Sun Jul 7 15:12:59 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_todr.c,v 1.39 2015/04/13 16:36:54 riastradh Exp $ */ +/* $NetBSD: kern_todr.c,v 1.40 2019/07/07 15:12:59 maxv Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -41,7 +41,7 @@ #include "opt_todr.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_todr.c,v 1.39 2015/04/13 16:36:54 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_todr.c,v 1.40 2019/07/07 15:12:59 maxv Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -113,6 +113,8 @@ inittodr(time_t base) if (todr_handle) todr_handle->base_time = base; + memset(&tv, 0, sizeof(tv)); + if ((todr_handle == NULL) || (todr_gettime(todr_handle, &tv) != 0) || (tv.tv_sec < (25 * SECS_PER_COMMON_YEAR))) {