aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--findutils/find.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/findutils/find.c b/findutils/find.c
index 5d5e24bfb..044f010b0 100644
--- a/findutils/find.c
+++ b/findutils/find.c
@@ -420,12 +420,10 @@ static char* subst(const char *src, unsigned count, const char* filename)
420 size_t flen = strlen(filename); 420 size_t flen = strlen(filename);
421 /* we replace each '{}' with filename: growth by strlen-2 */ 421 /* we replace each '{}' with filename: growth by strlen-2 */
422 buf = dst = xmalloc(strlen(src) + count*(flen-2) + 1); 422 buf = dst = xmalloc(strlen(src) + count*(flen-2) + 1);
423 while ((end = strstr(src, "{}"))) { 423 while ((end = strstr(src, "{}")) != NULL) {
424 memcpy(dst, src, end - src); 424 dst = mempcpy(dst, src, end - src);
425 dst += end - src; 425 dst = mempcpy(dst, filename, flen);
426 src = end + 2; 426 src = end + 2;
427 memcpy(dst, filename, flen);
428 dst += flen;
429 } 427 }
430 strcpy(dst, src); 428 strcpy(dst, src);
431 return buf; 429 return buf;