aboutsummaryrefslogtreecommitdiffstats
path: root/librecrypt_rng_.c
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-05-14 22:20:02 +0200
committerMattias Andrée <m@maandree.se>2026-05-14 22:20:02 +0200
commitf07a9f80fb6f3099d75534c1e64f448d4b397931 (patch)
tree30ebf4afafb0e66226fa7f642db083341c8c96e4 /librecrypt_rng_.c
parentlibrecrypt.h: add @since (diff)
downloadlibrecrypt-f07a9f80fb6f3099d75534c1e64f448d4b397931.tar.gz
librecrypt-f07a9f80fb6f3099d75534c1e64f448d4b397931.tar.bz2
librecrypt-f07a9f80fb6f3099d75534c1e64f448d4b397931.tar.xz
Fix minor errors in the test and check that we are not writing out of bounds
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to '')
-rw-r--r--librecrypt_rng_.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/librecrypt_rng_.c b/librecrypt_rng_.c
index e620c6f..4c6d5dc 100644
--- a/librecrypt_rng_.c
+++ b/librecrypt_rng_.c
@@ -374,18 +374,24 @@ main(void)
#define CHECK1()\
do {\
+ CANARY_FILL(buf1);\
n1 = librecrypt_rng_(buf1, sizeof(buf1), NULL);\
EXPECT(n1 >= 128 && (size_t)n1 <= sizeof(buf1));\
EXPECT(memcmp(buf1, buf2, (size_t)MIN(n1, n2)));\
+ CANARY_CHECK(buf1, (size_t)n1);\
} while (0)
#define CHECK2()\
do {\
+ CANARY_FILL(buf1);\
+ CANARY_FILL(buf2);\
n1 = librecrypt_rng_(buf1, sizeof(buf1), NULL);\
n2 = librecrypt_rng_(buf2, sizeof(buf2), &user);\
EXPECT(n1 >= 128 && (size_t)n1 <= sizeof(buf1));\
EXPECT(n2 >= 128 && (size_t)n2 <= sizeof(buf2));\
EXPECT(memcmp(buf1, buf2, (size_t)MIN(n1, n2)));\
+ CANARY_CHECK(buf1, (size_t)n1);\
+ CANARY_CHECK(buf2, (size_t)n2);\
} while (0)
/* Test with output pattern (useful for other tests) */