diff options
author | Denis Vlasenko | 2008-07-22 20:16:55 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-07-22 20:16:55 +0000 |
commit | 0f293b96dc6effa127ec63e11dd16221f1329126 (patch) | |
tree | a5b7873a5ece9bef8355da8d437cf53f952c66ca /libbb/safe_strncpy.c | |
parent | 68a192c00799fd2097bab1aec594cd27203b1ec6 (diff) | |
download | busybox-0f293b96dc6effa127ec63e11dd16221f1329126.zip busybox-0f293b96dc6effa127ec63e11dd16221f1329126.tar.gz |
fix all cases of strcpy on overlapping strings.
Diffstat (limited to 'libbb/safe_strncpy.c')
-rw-r--r-- | libbb/safe_strncpy.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libbb/safe_strncpy.c b/libbb/safe_strncpy.c index 649fa10..4acd976 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++; + } +} |