diff --git a/Libraries/LibC/string.cpp b/Libraries/LibC/string.cpp index cadd9669d6..4d25cd8fd2 100644 --- a/Libraries/LibC/string.cpp +++ b/Libraries/LibC/string.cpp @@ -94,13 +94,14 @@ char* strdup(const char* str) { size_t len = strlen(str); char* new_str = (char*)malloc(len + 1); - strcpy(new_str, str); + memcpy(new_str, str, len); + new_str[len] = '\0'; return new_str; } char* strndup(const char* str, size_t maxlen) { - size_t len = min(strlen(str), maxlen); + size_t len = strnlen(str, maxlen); char* new_str = (char*)malloc(len + 1); memcpy(new_str, str, len); new_str[len] = 0;