hrev51874 adds 1 changeset to branch 'master'
old head: fbc298d3310f7495fcfb7e69e9e6cb89f270c86a
new head: 509c7718dde14a9317457a1f36dc56537679596d
overview:
http://cgit.haiku-os.org/haiku/log/?qt=range&q=509c7718dde1+%5Efbc298d3310f
----------------------------------------------------------------------------
509c7718dde1: fat: dosfs_read_attr used the user buffer directly
It now uses user_strlcpy().
[ Jérôme Duval <jerome.duval@xxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev51874
Commit: 509c7718dde14a9317457a1f36dc56537679596d
URL: http://cgit.haiku-os.org/haiku/commit/?id=509c7718dde1
Author: Jérôme Duval <jerome.duval@xxxxxxxxx>
Date: Sat Apr 7 15:51:10 2018 UTC
----------------------------------------------------------------------------
1 file changed, 4 insertions(+), 2 deletions(-)
src/add-ons/kernel/file_systems/fat/attr.c | 6 ++++--
----------------------------------------------------------------------------
diff --git a/src/add-ons/kernel/file_systems/fat/attr.c
b/src/add-ons/kernel/file_systems/fat/attr.c
index 6f0bf71e1d..3042278f05 100644
--- a/src/add-ons/kernel/file_systems/fat/attr.c
+++ b/src/add-ons/kernel/file_systems/fat/attr.c
@@ -233,8 +233,10 @@ dosfs_read_attr(fs_volume *_vol, fs_vnode *_node, void
*_cookie, off_t pos,
return EINVAL;
}
- strncpy(buffer, node->mime + pos, *_length - 1);
- ((char *)buffer)[*_length - 1] = 0;
+ if (user_strlcpy(buffer, node->mime + pos, *_length) < B_OK) {
+ UNLOCK_VOL(vol);
+ return B_BAD_ADDRESS;
+ }
*_length = strlen(buffer) + 1;
UNLOCK_VOL(vol);