diff options
Diffstat (limited to 'libbb/safe_strncpy.c')
-rw-r--r-- | libbb/safe_strncpy.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libbb/safe_strncpy.c b/libbb/safe_strncpy.c index add92ac..42bc16e 100644 --- a/libbb/safe_strncpy.c +++ b/libbb/safe_strncpy.c @@ -15,6 +15,7 @@ /* Like strncpy but make sure the resulting string is always 0 terminated. */ char * safe_strncpy(char *dst, const char *src, size_t size) { - dst[size-1] = '\0'; - return strncpy(dst, src, size-1); + if (!size) return dst; + dst[--size] = '\0'; + return strncpy(dst, src, size); } |