From Jérôme Duval <jerome.duval@xxxxxxxxx>:
Jérôme Duval has uploaded this change for review. (
https://review.haiku-os.org/c/haiku/+/5426 ;)
Change subject: btrfs: fix SMAP violation, reading inline uncompressed data
......................................................................
btrfs: fix SMAP violation, reading inline uncompressed data
should fix for #17061
---
M src/add-ons/kernel/file_systems/btrfs/Inode.cpp
1 file changed, 4 insertions(+), 3 deletions(-)
git pull ssh://git.haiku-os.org:22/haiku refs/changes/26/5426/1
diff --git a/src/add-ons/kernel/file_systems/btrfs/Inode.cpp
b/src/add-ons/kernel/file_systems/btrfs/Inode.cpp
index 8faa9f0..d6e3fbf 100644
--- a/src/add-ons/kernel/file_systems/btrfs/Inode.cpp
+++ b/src/add-ons/kernel/file_systems/btrfs/Inode.cpp
@@ -269,9 +269,10 @@
}
*_length = min_c(extent_data->Size() - diff, *_length);
- if (compression == BTRFS_EXTENT_COMPRESS_NONE)
- memcpy(buffer, extent_data->inline_data, *_length);
- else if (compression == BTRFS_EXTENT_COMPRESS_ZLIB) {
+ if (compression == BTRFS_EXTENT_COMPRESS_NONE) {
+ if (user_memcpy(buffer, extent_data->inline_data, *_length) <
B_OK)
+ return B_BAD_ADDRESS;
+ } else if (compression == BTRFS_EXTENT_COMPRESS_ZLIB) {
char in[2048];
z_stream zStream = {
(Bytef*)in, // next in
--
To view, visit https://review.haiku-os.org/c/haiku/+/5426
To unsubscribe, or for help writing mail filters, visit
https://review.haiku-os.org/settings
Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: I5973be6c443e8cf4460c6a3aca7b5378e90d717b
Gerrit-Change-Number: 5426
Gerrit-PatchSet: 1
Gerrit-Owner: Jérôme Duval <jerome.duval@xxxxxxxxx>
Gerrit-MessageType: newchange