hrev51740 adds 1 changeset to branch 'master'
old head: 9fbffea6f4a674c196ef0ac275a785ef377a6e91
new head: 51051c56d36306e32ee363c0d15078b0e8082fcc
overview:
http://cgit.haiku-os.org/haiku/log/?qt=range&q=51051c56d363+%5E9fbffea6f4a6
----------------------------------------------------------------------------
51051c56d363: kernel: wait_for_objects: read the user sigmask with user_memcpy()
[ Jérôme Duval <jerome.duval@xxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev51740
Commit: 51051c56d36306e32ee363c0d15078b0e8082fcc
URL: http://cgit.haiku-os.org/haiku/commit/?id=51051c56d363
Author: Jérôme Duval <jerome.duval@xxxxxxxxx>
Date: Mon Jan 8 20:39:37 2018 UTC
----------------------------------------------------------------------------
1 file changed, 5 insertions(+), 2 deletions(-)
src/system/kernel/wait_for_objects.cpp | 7 +++++--
----------------------------------------------------------------------------
diff --git a/src/system/kernel/wait_for_objects.cpp
b/src/system/kernel/wait_for_objects.cpp
index 4fab084c9c..dbb6ffdb54 100644
--- a/src/system/kernel/wait_for_objects.cpp
+++ b/src/system/kernel/wait_for_objects.cpp
@@ -963,8 +963,11 @@ _user_select(int numFDs, fd_set *userReadSet, fd_set
*userWriteSet,
}
}
- if (userSigMask != NULL)
- sigMask = *userSigMask;
+ if (userSigMask != NULL
+ && user_memcpy(&sigMask, userSigMask, sizeof(sigMask)) < B_OK) {
+ result = B_BAD_ADDRESS;
+ goto err;
+ }
result = common_select(numFDs, readSet, writeSet, errorSet, timeout,
userSigMask ? &sigMask : NULL, false);