diff options
Diffstat (limited to 'klibc')
-rw-r--r-- | klibc/klibc/strlcat.c | 4 | ||||
-rw-r--r-- | klibc/klibc/strlcpy.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/klibc/klibc/strlcat.c b/klibc/klibc/strlcat.c index 6111445f06..f397857e76 100644 --- a/klibc/klibc/strlcat.c +++ b/klibc/klibc/strlcat.c @@ -16,9 +16,11 @@ size_t strlcat(char *dst, const char *src, size_t size) q++; bytes++; } + if (bytes == size) + return (bytes + strlen(src)); while ( (ch = *p++) ) { - if ( bytes < size ) + if ( bytes+1 < size ) *q++ = ch; bytes++; diff --git a/klibc/klibc/strlcpy.c b/klibc/klibc/strlcpy.c index eb384c9885..8b36c43c00 100644 --- a/klibc/klibc/strlcpy.c +++ b/klibc/klibc/strlcpy.c @@ -13,7 +13,7 @@ size_t strlcpy(char *dst, const char *src, size_t size) char ch; while ( (ch = *p++) ) { - if ( bytes < size ) + if ( bytes+1 < size ) *q++ = ch; bytes++; |