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