Index: mojo/system/data_pipe_consumer_dispatcher.cc |
diff --git a/mojo/system/data_pipe_consumer_dispatcher.cc b/mojo/system/data_pipe_consumer_dispatcher.cc |
index b4fb423e54fc88e170279adf8389ad3aa0b537e9..4f459fcc70ba27f24c15f77487139b32777a97d2 100644 |
--- a/mojo/system/data_pipe_consumer_dispatcher.cc |
+++ b/mojo/system/data_pipe_consumer_dispatcher.cc |
@@ -51,33 +51,28 @@ DataPipeConsumerDispatcher::CreateEquivalentDispatcherAndCloseImplNoLock() { |
} |
MojoResult DataPipeConsumerDispatcher::ReadDataImplNoLock( |
- void* elements, |
- uint32_t* num_bytes, |
+ UserPointer<void> elements, |
+ UserPointer<uint32_t> num_bytes, |
MojoReadDataFlags flags) { |
lock().AssertAcquired(); |
- if (!VerifyUserPointer<uint32_t>(num_bytes)) |
- return MOJO_RESULT_INVALID_ARGUMENT; |
- |
if ((flags & MOJO_READ_DATA_FLAG_DISCARD)) { |
// These flags are mutally exclusive. |
if ((flags & MOJO_READ_DATA_FLAG_QUERY)) |
return MOJO_RESULT_INVALID_ARGUMENT; |
- DVLOG_IF(2, elements) << "Discard mode: ignoring non-null |elements|"; |
+ DVLOG_IF(2, !elements.IsNull()) |
+ << "Discard mode: ignoring non-null |elements|"; |
return data_pipe_->ConsumerDiscardData( |
num_bytes, (flags & MOJO_READ_DATA_FLAG_ALL_OR_NONE)); |
} |
if ((flags & MOJO_READ_DATA_FLAG_QUERY)) { |
DCHECK(!(flags & MOJO_READ_DATA_FLAG_DISCARD)); // Handled above. |
- DVLOG_IF(2, elements) << "Query mode: ignoring non-null |elements|"; |
+ DVLOG_IF(2, !elements.IsNull()) |
+ << "Query mode: ignoring non-null |elements|"; |
return data_pipe_->ConsumerQueryData(num_bytes); |
} |
- // Only verify |elements| if we're neither discarding nor querying. |
- if (!VerifyUserPointerWithSize<1>(elements, *num_bytes)) |
- return MOJO_RESULT_INVALID_ARGUMENT; |
- |
return data_pipe_->ConsumerReadData( |
elements, num_bytes, (flags & MOJO_READ_DATA_FLAG_ALL_OR_NONE)); |
} |