From 62ba2a9ab01e5f2a9b1cd325af8d3112702b7713 Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Mon, 15 Apr 2024 20:34:58 +0200 Subject: Bug fix and cleanup. --- kernel/libc/string/copy.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'kernel/libc/string/copy.c') diff --git a/kernel/libc/string/copy.c b/kernel/libc/string/copy.c index 11cd664..4acbbf4 100644 --- a/kernel/libc/string/copy.c +++ b/kernel/libc/string/copy.c @@ -4,12 +4,13 @@ #include char *copy_and_allocate_string(const char *s) { - size_t l = strlen(s); - char *r = kmalloc(l + 1); + size_t l = strlen(s) + 1; + char *r = kmalloc(l); if (!r) { return NULL; } - return strncpy(r, s, l); + memcpy(r, s, l); + return r; } char *copy_and_allocate_user_string(const char *s) { @@ -24,6 +25,6 @@ char *copy_and_allocate_user_string(const char *s) { if (!r) { return NULL; } - strlcpy(r, s, len); + memcpy(r, s, len+1); return r; } -- cgit v1.2.3