From 0f293b96dc6effa127ec63e11dd16221f1329126 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Tue, 22 Jul 2008 20:16:55 +0000 Subject: fix all cases of strcpy on overlapping strings. --- libbb/safe_strncpy.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libbb/safe_strncpy.c') diff --git a/libbb/safe_strncpy.c b/libbb/safe_strncpy.c index 649fa10cf..4acd9766b 100644 --- a/libbb/safe_strncpy.c +++ b/libbb/safe_strncpy.c @@ -16,3 +16,12 @@ char* FAST_FUNC safe_strncpy(char *dst, const char *src, size_t size) dst[--size] = '\0'; return strncpy(dst, src, size); } + +/* Like strcpy but can copy overlapping strings. */ +void FAST_FUNC overlapping_strcpy(char *dst, const char *src) +{ + while ((*dst = *src) != '\0') { + dst++; + src++; + } +} -- cgit v1.2.3