diff --git a/md5.c b/md5.c
index 4b1972850bacb7d64fe53a323faa50e029c3ba6b..095cee22cac783548e89c1b839705d4cbba00e17 100644
--- a/md5.c
+++ b/md5.c
@@ -12,6 +12,8 @@
 #include "crypto_types.h"
 #include "md5.h"
 
+#include <string.h>
+
 void md5_copy(struct md5_ctx *dest, struct md5_ctx *src)
 {
   int i;
diff --git a/sha.c b/sha.c
index 081369ee488cb51b02196d8db5d8d49c580259fd..b400dd803b8ae62bd315b4033d081c8e221e0e7c 100644
--- a/sha.c
+++ b/sha.c
@@ -35,6 +35,8 @@ effort (for example the reengineering of a great many Capstone chips).
 /* #include "port.h" */
 #include "sha.h"
 
+#include <string.h>
+
 void sha_copy(struct sha_ctx *dest, struct sha_ctx *src)
 {
   int i;