|
@@ -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;
|