diff --git a/test/crypto_kem/functest.c b/test/crypto_kem/functest.c index 46139be9..45f6181a 100644 --- a/test/crypto_kem/functest.c +++ b/test/crypto_kem/functest.c @@ -5,18 +5,23 @@ #define NTESTS 10 +const unsigned char canary[8] = {0x01, 0x23, 0x45, 0x67, + 0x89, 0xAB, 0xCD, 0xEF}; + /* allocate a bit more for all keys and messages and * make sure it is not touched by the implementations. */ static void write_canary(unsigned char *d) { - *((uint64_t *)d) = 0x0123456789ABCDEF; + for (int i = 0; i < 8; i++) { + d[i] = canary[i]; + } } static int check_canary(const unsigned char *d) { - if (*(uint64_t *)d != 0x0123456789ABCDEF) { - return -1; + for (int i = 0; i < 8; i++) { + if (d[i] != canary[i]) + return -1; } - return 0; } diff --git a/test/crypto_sign/functest.c b/test/crypto_sign/functest.c index b13a19ae..d32cada2 100644 --- a/test/crypto_sign/functest.c +++ b/test/crypto_sign/functest.c @@ -6,20 +6,23 @@ #define NTESTS 15 #define MLEN 32 -typedef uint64_t unaligned_uint64_t __attribute__((aligned(1))); +const unsigned char canary[8] = {0x01, 0x23, 0x45, 0x67, + 0x89, 0xAB, 0xCD, 0xEF}; /* allocate a bit more for all keys and messages and * make sure it is not touched by the implementations. */ static void write_canary(unsigned char *d) { - *((unaligned_uint64_t *)d) = 0x0123456789ABCDEF; + for (int i = 0; i < 8; i++) { + d[i] = canary[i]; + } } static int check_canary(const unsigned char *d) { - if (*(unaligned_uint64_t *)d != 0x0123456789ABCDEF) { - return -1; + for (int i = 0; i < 8; i++) { + if (d[i] != canary[i]) + return -1; } - return 0; }