[haiku-commits] haiku: hrev51740 - src/system/kernel

  • From: jerome.duval@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 8 Jan 2018 16:20:53 -0500 (EST)

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);


Other related posts:

  • » [haiku-commits] haiku: hrev51740 - src/system/kernel - jerome . duval