aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--config.mk10
-rw-r--r--test.c6
2 files changed, 12 insertions, 4 deletions
diff --git a/config.mk b/config.mk
index 7f476cc..4aca96b 100644
--- a/config.mk
+++ b/config.mk
@@ -3,9 +3,15 @@ MANPREFIX = $(PREFIX)/share/man
CC = cc -std=c11
+COMMON_SANITIZE = -fsanitize=alignment,shift,signed-integer-overflow,object-size,null,undefined,bounds,address
+CLANG_SANITIZE = -O1 $(COMMON_SANITIZE),cfi -flto -fvisibility=hidden -fno-sanitize-trap=cfi
+GCC_SANITIZE = -O1 $(COMMON_SANITIZE)
+#SANITIZE = $(CLANG_SANITIZE)
+#SANITIZE = $(GCC_SANITIZE)
+
CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_GNU_SOURCE
-CFLAGS = -Wall -O3
-LDFLAGS = -s
+CFLAGS = $(SANITIZE) -Wall -O3
+LDFLAGS = $(SANITIZE) -s
# These optimisations may not only break compatibility with
# processors that the software was not compiled on, but they
diff --git a/test.c b/test.c
index e06b6fe..83a58b1 100644
--- a/test.c
+++ b/test.c
@@ -667,7 +667,8 @@ hash_blake2xs(unsigned char **msg, size_t msglen, size_t *msgsize,
params.depth = 1;
params.xof_len = (uint_least16_t)hashlen;
- memset(*out, 0xCC, *outsize);
+ if (*outsize)
+ memset(*out, 0xCC, *outsize);
libblake_blake2xs_init(&state, &params);
*outlen = hashlen;
@@ -732,7 +733,8 @@ hash_blake2xb(unsigned char **msg, size_t msglen, size_t *msgsize,
params.depth = 1;
params.xof_len = (uint_least32_t)hashlen;
- memset(*out, 0xCC, *outsize);
+ if (*outsize)
+ memset(*out, 0xCC, *outsize);
libblake_blake2xb_init(&state, &params);
*outlen = hashlen;