From ebcdd1fc612df8f9ab32c08709ffd2323ded44e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Sat, 7 Nov 2009 10:42:39 +0000 Subject: [PATCH] * r33436 broke user_strlcpy() semantics: with a size of 0, "to" can be ignored, and it's still a valid call. * This fixes ktrace_printf() from userland. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33934 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/vm/vm.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/system/kernel/vm/vm.cpp b/src/system/kernel/vm/vm.cpp index 4cd735671d..f8b282e820 100644 --- a/src/system/kernel/vm/vm.cpp +++ b/src/system/kernel/vm/vm.cpp @@ -5580,9 +5580,9 @@ user_memcpy(void* to, const void* from, size_t size) ssize_t user_strlcpy(char* to, const char* from, size_t size) { - if (size == 0) - return 0; - if (from == NULL || to == NULL) + if (to == NULL && size != 0) + return B_BAD_VALUE; + if (from == NULL) return B_BAD_ADDRESS; // limit size to avoid address overflows