Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/crypto/nist_hash_drbg Use an explicit run-time assertion...
details: https://anonhg.NetBSD.org/src/rev/c0fdbae6be8f
branches: trunk
changeset: 454511:c0fdbae6be8f
user: riastradh <riastradh%NetBSD.org@localhost>
date: Thu Sep 19 18:29:55 2019 +0000
description:
Use an explicit run-time assertion where compile-time doesn't work.
diffstat:
sys/crypto/nist_hash_drbg/nist_hash_drbg.c | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
diffs (51 lines):
diff -r 229d59436b68 -r c0fdbae6be8f sys/crypto/nist_hash_drbg/nist_hash_drbg.c
--- a/sys/crypto/nist_hash_drbg/nist_hash_drbg.c Thu Sep 19 14:41:28 2019 +0000
+++ b/sys/crypto/nist_hash_drbg/nist_hash_drbg.c Thu Sep 19 18:29:55 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: nist_hash_drbg.c,v 1.2 2019/09/19 14:34:59 riastradh Exp $ */
+/* $NetBSD: nist_hash_drbg.c,v 1.3 2019/09/19 18:29:55 riastradh Exp $ */
/*-
* Copyright (c) 2019 The NetBSD Foundation, Inc.
@@ -49,7 +49,7 @@
#ifdef _KERNEL
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nist_hash_drbg.c,v 1.2 2019/09/19 14:34:59 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nist_hash_drbg.c,v 1.3 2019/09/19 18:29:55 riastradh Exp $");
#endif
#include <sys/param.h>
@@ -1009,10 +1009,6 @@
#define CHECK(i, name, actual, expected, n) do \
{ \
CTASSERT(sizeof(actual) == (n)); \
- CTASSERT(__builtin_constant_p(n) ? sizeof(actual) == (n) : 1); \
- ASSERT(__builtin_constant_p(n) ? 1 : sizeof(actual) >= (n)); \
- CTASSERT(__builtin_constant_p(n) ? sizeof(expected) == (n) : 1); \
- ASSERT(__builtin_constant_p(n) ? 1 : sizeof(expected) >= (n)); \
ok &= check(i, name, actual, expected, (n)); \
} while (0)
@@ -1091,7 +1087,9 @@
kat[i].reseed ? 0 : kat[i].additional[0]->hv_len);
reseed_counter++;
CHECK(i, "V[1]", D->V, kat[i].V[1], SEEDLEN_BYTES);
- CHECK(i, "rnd_val[0]", rnd_val, kat[i].rnd_val[0],
+ ASSERT(sizeof(kat[i].rnd_val[0]) - trunc <=
+ sizeof rnd_val);
+ check(i, "rnd_val[0]", rnd_val, kat[i].rnd_val[0],
sizeof(kat[i].rnd_val[0]) - trunc);
if (D->reseed_counter != reseed_counter) {
DPRINTF("bad reseed counter: %u, expected %u",
@@ -1113,7 +1111,9 @@
kat[i].reseed ? 0 : kat[i].additional[1]->hv_len);
reseed_counter++;
CHECK(i, "V[2]", D->V, kat[i].V[2], SEEDLEN_BYTES);
- CHECK(i, "rnd_val[1]", rnd_val, kat[i].rnd_val[1],
+ ASSERT(sizeof(kat[i].rnd_val[1]) - trunc <=
+ sizeof rnd_val);
+ check(i, "rnd_val[1]", rnd_val, kat[i].rnd_val[1],
sizeof(kat[i].rnd_val[1]) - trunc);
if (D->reseed_counter != reseed_counter) {
DPRINTF("bad reseed counter: %u, expected %u",
Home |
Main Index |
Thread Index |
Old Index