From 6ad6845f8ca35920a7e7b61f1007ef388ccbb598 Mon Sep 17 00:00:00 2001 From: rubidium Date: Fri, 25 Apr 2014 17:35:29 +0000 Subject: [PATCH] (svn r26510) -Codechange: use memcpy instead of strncpy in the town name replace word function since we never want to add a '\0' anyway, and we know the exact length too --- src/townname.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/townname.cpp b/src/townname.cpp index 99dd998217..f3a4e5cbb7 100644 --- a/src/townname.cpp +++ b/src/townname.cpp @@ -202,7 +202,8 @@ static inline int32 SeedChanceBias(byte shift_by, int max, uint32 seed, int bias */ static void ReplaceWords(const char *org, const char *rep, char *buf) { - if (strncmp(buf, org, 4) == 0) strncpy(buf, rep, 4); // Safe as the string in buf is always more than 4 characters long. + assert(strlen(org) == 4 && strlen(rep) == 4 && strlen(buf) >= 4); + if (strncmp(buf, org, 4) == 0) memcpy(buf, rep, 4); // Safe as the string in buf is always more than 4 characters long. }