diff --git a/src/system/kernel/posix/xsi_message_queue.cpp b/src/system/kernel/posix/xsi_message_queue.cpp index 2920aef789..694dee0207 100644 --- a/src/system/kernel/posix/xsi_message_queue.cpp +++ b/src/system/kernel/posix/xsi_message_queue.cpp @@ -494,7 +494,7 @@ _user_xsi_msgctl(int messageQueueID, int command, struct msqid_ds *buffer) TRACE_ERROR(("xsi_msgctl: message queue id %d not valid\n", messageQueueID)); return EINVAL; } - if (!IS_USER_ADDRESS(buffer)) { + if (buffer != NULL && !IS_USER_ADDRESS(buffer)) { TRACE_ERROR(("xsi_msgctl: buffer address is not valid\n")); return B_BAD_ADDRESS; }