hrev51896 adds 2 changesets to branch 'master'
old head: e3becd53eef5c093ee8c8f32bab51d40b0f2b8d4
new head: 7760bb460ff528995018db1535f62e68ce7876d2
overview:
https://git.haiku-os.org/haiku/log/?qt=range&q=7760bb460ff5+%5Ee3becd53eef5
----------------------------------------------------------------------------
b0bcd96bd74a: fat: use the return value of strlcpy instead of strlen.
7760bb460ff5: ntfs: fake_read_attrib used the user buffer directly
It now uses user_strlcpy()
[ Jérôme Duval <jerome.duval@xxxxxxxxx> ]
----------------------------------------------------------------------------
2 files changed, 12 insertions(+), 5 deletions(-)
src/add-ons/kernel/file_systems/fat/attr.c | 6 ++++--
src/add-ons/kernel/file_systems/ntfs/fake_attributes.c | 11 ++++++++---
############################################################################
Commit: b0bcd96bd74a44888cf501a1f745793a95be4d92
URL: https://git.haiku-os.org/haiku/commit/?id=b0bcd96bd74a
Author: Jérôme Duval <jerome.duval@xxxxxxxxx>
Date: Tue Apr 24 17:54:00 2018 UTC
fat: use the return value of strlcpy instead of strlen.
----------------------------------------------------------------------------
diff --git a/src/add-ons/kernel/file_systems/fat/attr.c
b/src/add-ons/kernel/file_systems/fat/attr.c
index 3042278f05..850f959e2c 100644
--- a/src/add-ons/kernel/file_systems/fat/attr.c
+++ b/src/add-ons/kernel/file_systems/fat/attr.c
@@ -233,11 +233,13 @@ dosfs_read_attr(fs_volume *_vol, fs_vnode *_node, void
*_cookie, off_t pos,
return EINVAL;
}
- if (user_strlcpy(buffer, node->mime + pos, *_length) < B_OK) {
+ ssize_t length = user_strlcpy(buffer, node->mime + pos, *_length);
+ if (length < B_OK) {
UNLOCK_VOL(vol);
return B_BAD_ADDRESS;
}
- *_length = strlen(buffer) + 1;
+ if (length < *_length)
+ *_length = length + 1;
UNLOCK_VOL(vol);
return 0;
############################################################################
Revision: hrev51896
Commit: 7760bb460ff528995018db1535f62e68ce7876d2
URL: https://git.haiku-os.org/haiku/commit/?id=7760bb460ff5
Author: Jérôme Duval <jerome.duval@xxxxxxxxx>
Date: Tue Apr 24 18:05:33 2018 UTC
ntfs: fake_read_attrib used the user buffer directly
It now uses user_strlcpy()
----------------------------------------------------------------------------
diff --git a/src/add-ons/kernel/file_systems/ntfs/fake_attributes.c
b/src/add-ons/kernel/file_systems/ntfs/fake_attributes.c
index 1fc00f707b..407633221f 100644
--- a/src/add-ons/kernel/file_systems/ntfs/fake_attributes.c
+++ b/src/add-ons/kernel/file_systems/ntfs/fake_attributes.c
@@ -274,6 +274,7 @@ fake_read_attrib(fs_volume *_vol, fs_vnode *_node, void
*_cookie,
vnode *node = (vnode *)_node->private_node;
int result = B_NO_ERROR;
+ ssize_t length;
LOCK_VOL(ns);
@@ -294,9 +295,13 @@ fake_read_attrib(fs_volume *_vol, fs_vnode *_node, void
*_cookie,
goto exit;
}
- strncpy(buffer, node->mime + pos, *_length - 1);
- ((char *)buffer)[*_length - 1] = 0;
- *_length = strlen(buffer) + 1;
+ length = user_strlcpy(buffer, node->mime + pos, *_length);
+ if (length < B_OK) {
+ result = B_BAD_ADDRESS;
+ goto exit;
+ }
+ if (length < *_length)
+ *_length = length + 1;
exit: