$OpenBSD$
--- malloc.c.orig	Fri Feb 17 20:19:37 2006
+++ malloc.c	Sun Sep  3 18:21:07 2006
@@ -283,13 +283,14 @@ DCL_LOCK_STATE;
 #endif
 {
   char *copy;
+  size_t size;
 
   if (s == NULL) return NULL;
-  if ((copy = GC_malloc_atomic(strlen(s) + 1)) == NULL) {
+  if ((copy = GC_malloc_atomic(size = (strlen(s) + 1))) == NULL) {
     errno = ENOMEM;
     return NULL;
   }
-  strcpy(copy, s);
+  strlcpy(copy, s, size);
   return copy;
 }
 
