From 80ea5e35082898c9285edfc86a8130865c1a30b3 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 1 Oct 2009 03:03:56 +0000 Subject: [PATCH] Fixed incorrect return value of _user_get_file_disk_device_path(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33382 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../kernel/disk_device_manager/ddm_userland_interface.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/system/kernel/disk_device_manager/ddm_userland_interface.cpp b/src/system/kernel/disk_device_manager/ddm_userland_interface.cpp index a148481230..a9173ab4ae 100644 --- a/src/system/kernel/disk_device_manager/ddm_userland_interface.cpp +++ b/src/system/kernel/disk_device_manager/ddm_userland_interface.cpp @@ -456,7 +456,11 @@ _user_get_file_disk_device_path(partition_id id, char* buffer, if (fileDevice == NULL) return B_BAD_VALUE; - return user_strlcpy(buffer, fileDevice->FilePath(), bufferSize); + ssize_t copied = user_strlcpy(buffer, fileDevice->FilePath(), + bufferSize); + if (copied < 0) + return copied; + return (size_t)copied < bufferSize ? B_OK : B_BUFFER_OVERFLOW; } }