diff --git a/src/hammer.c b/src/hammer.c
index e19336760917623ae870cab8f2d1b614c73c60e7..1b0ba28e364ee43cd9fcdc433f3a87c224566175 100644
--- a/src/hammer.c
+++ b/src/hammer.c
@@ -257,8 +257,9 @@ static char * h_get_string_for_backend_with_params__m(HAllocator *mm__,
     /* fall back to the generic descriptive text */
     generic_text = h_get_string_for_backend(be, description);
     if (generic_text) {
-      text = h_new(char, strlen(generic_text) + 1);
-      strncpy(text, generic_text, strlen(generic_text) + 1);
+      size_t size = strlen(generic_text) + 1;
+      text = h_new(char, size);
+      strncpy(text, generic_text, size);
     }
   }