diff options
author | kay.sievers@vrfy.org <kay.sievers@vrfy.org> | 2005-03-28 00:18:49 +0200 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 23:55:00 -0700 |
commit | 4f8d44c220d811352b63c65b5a66403339005aac (patch) | |
tree | bda99735452286ba436e65d53b7392e83096ef64 | |
parent | 8a4c0c32f4252efb0f0adbf5cdc0261d359cd568 (diff) |
[PATCH] klibc: strlcpy/strlcat - don't alter destination if size == 0
-rw-r--r-- | klibc/klibc/strlcat.c | 3 | ||||
-rw-r--r-- | klibc/klibc/strlcpy.c | 3 | ||||
-rw-r--r-- | udev_libc_wrapper.c | 6 |
3 files changed, 8 insertions, 4 deletions
diff --git a/klibc/klibc/strlcat.c b/klibc/klibc/strlcat.c index f397857e76..fdd72ac392 100644 --- a/klibc/klibc/strlcat.c +++ b/klibc/klibc/strlcat.c @@ -26,7 +26,8 @@ size_t strlcat(char *dst, const char *src, size_t size) bytes++; } - *q = '\0'; + if (size) + *q = '\0'; return bytes; } diff --git a/klibc/klibc/strlcpy.c b/klibc/klibc/strlcpy.c index 8b36c43c00..9e7b6bf91f 100644 --- a/klibc/klibc/strlcpy.c +++ b/klibc/klibc/strlcpy.c @@ -19,7 +19,8 @@ size_t strlcpy(char *dst, const char *src, size_t size) bytes++; } - *q = '\0'; + if (size) + *q = '\0'; return bytes; } diff --git a/udev_libc_wrapper.c b/udev_libc_wrapper.c index 23cb7b4316..d69f2ac48e 100644 --- a/udev_libc_wrapper.c +++ b/udev_libc_wrapper.c @@ -58,7 +58,8 @@ size_t strlcpy(char *dst, const char *src, size_t size) bytes++; } - *q = '\0'; + if (size) + *q = '\0'; return bytes; } @@ -82,7 +83,8 @@ size_t strlcat(char *dst, const char *src, size_t size) bytes++; } - *q = '\0'; + if (size) + *q = '\0'; return bytes; } #endif /* __OWN_STRLCPYCAT__ */ |