diff --git a/ChangeLog b/ChangeLog
index 3a027a610390b86879478e6f1fafc887815f12e1..6da59bd36f7c512e7c03ae38dee239b0c63bf129 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-09-24  Niels Möller  <nisse@lysator.liu.se>
+
+	* testsuite/testutils.c (tstring_data): Use uint8_t for data
+	argument.
+	* testsuite/testutils.h (SDATA): Use US macro to cast data
+	argument.
+
 2017-08-26  Niels Möller  <nisse@lysator.liu.se>
 
 	* ecc-mod-inv.c (ecc_mod_inv): Add missing assert. Fixes a
diff --git a/testsuite/testutils.c b/testsuite/testutils.c
index c4ce71b178fec77c5d47577808024eb609d77e43..05130c19a8aa7129c6d60ba02b7f6545590572b7 100644
--- a/testsuite/testutils.c
+++ b/testsuite/testutils.c
@@ -62,7 +62,7 @@ tstring_clear(void)
 }
 
 struct tstring *
-tstring_data(size_t length, const char *data)
+tstring_data(size_t length, const uint8_t *data)
 {
   struct tstring *s = tstring_alloc (length);
   memcpy (s->data, data, length);
diff --git a/testsuite/testutils.h b/testsuite/testutils.h
index 7c44772b7748d07397304c838c087897112f1cc9..96c5626107a4643661b61a418ce06655bf963d33 100644
--- a/testsuite/testutils.h
+++ b/testsuite/testutils.h
@@ -60,7 +60,7 @@ void
 tstring_clear(void);
 
 struct tstring *
-tstring_data(size_t length, const char *data);
+tstring_data(size_t length, const uint8_t *data);
 
 struct tstring *
 tstring_hex(const char *hex);
@@ -281,7 +281,7 @@ test_ecc_mul_h (unsigned curve, unsigned n, const mp_limb_t *p);
 #define LDUP(x) strlen(x), strdup(x)
 
 #define SHEX(x) (tstring_hex(x))
-#define SDATA(x) ((const struct tstring *)tstring_data(LLENGTH(x), x))
+#define SDATA(x) ((const struct tstring *)tstring_data(LLENGTH(x), US(x)))
 #define H(x) (SHEX(x)->data)
 
 #define MEMEQ(length, a, b) (!memcmp((a), (b), (length)))