rem: if (status == B_OK && user_memcpy(userCode, &messageCode, sizeof(int32)) < B_OK)
add: if (status >= 0 && user_memcpy(userCode, &messageCode, sizeof(int32)) < B_OK)
context: _user_read_port_etc(port_id port, int32 *userCode, void *userBuffer,	size_t bufferSize, uint32 flags, bigtime_t timeout){	int32 messageCode;	ssize_t	status;	if (userCode == NULL || userBuffer == NULL)		return B_BAD_VALUE;	if (!IS_USER_ADDRESS(userCode) || !IS_USER_ADDRESS(userBuffer))		return B_BAD_ADDRESS;	status = read_port_etc(port, &messageCode, userBuffer, bufferSize,				flags | PORT_FLAG_USE_USER_MEMCPY | B_CAN_INTERRUPT, timeout);	if (status == B_OK && user_memcpy(userCode, &messageCode, sizeof(int32)) < B_OK)		return B_BAD_ADDRESS;	return status;}