* revert r27322 and apply the patch provided by Salvatore
Thanks you! :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27323 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
754b706519
commit
89cfd54279
@ -2855,15 +2855,16 @@ _user_receive_data(thread_id *_userSender, void *buffer, size_t bufferSize)
|
||||
thread_id sender;
|
||||
status_t code;
|
||||
|
||||
if (!IS_USER_ADDRESS(_userSender)
|
||||
if ((!IS_USER_ADDRESS(_userSender) && _userSender != NULL)
|
||||
|| !IS_USER_ADDRESS(buffer))
|
||||
return B_BAD_ADDRESS;
|
||||
|
||||
code = receive_data_etc(&sender, buffer, bufferSize, B_KILL_CAN_INTERRUPT);
|
||||
// supports userland buffers
|
||||
|
||||
if (user_memcpy(_userSender, &sender, sizeof(thread_id)) < B_OK)
|
||||
return B_BAD_ADDRESS;
|
||||
if (_userSender != NULL)
|
||||
if (user_memcpy(_userSender, &sender, sizeof(thread_id)) < B_OK)
|
||||
return B_BAD_ADDRESS;
|
||||
|
||||
return code;
|
||||
}
|
||||
|
@ -179,10 +179,6 @@ send_data(thread_id thread, int32 code, const void *buffer, size_t bufferSize)
|
||||
int32
|
||||
receive_data(thread_id *_sender, void *buffer, size_t bufferSize)
|
||||
{
|
||||
if (_sender == NULL) {
|
||||
thread_id id;
|
||||
return _kern_receive_data(&id, buffer, bufferSize);
|
||||
}
|
||||
return _kern_receive_data(_sender, buffer, bufferSize);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user