diff --git a/libkern/string.c b/libkern/string.c index cfb698da..6fba888a 100644 --- a/libkern/string.c +++ b/libkern/string.c @@ -69,6 +69,9 @@ char* strncpy(char *dest, const char *src, size_t n) { size_t i; + if (BUILTIN_EXPECT(!dest || !src, 0)) + return dest; + for (i = 0 ; i < n && src[i] != '\0' ; i++) dest[i] = src[i]; if (i < n) @@ -85,6 +88,9 @@ char* strcpy(char *dest, const char *src) { size_t i; + if (BUILTIN_EXPECT(!dest || !src, 0)) + return dest; + for (i = 0 ; src[i] != '\0' ; i++) dest[i] = src[i]; dest[i] = '\0';