Index: gpu/command_buffer/service/command_buffer_service.cc |
diff --git a/gpu/command_buffer/service/command_buffer_service.cc b/gpu/command_buffer/service/command_buffer_service.cc |
index 1ab2a9b532e3ae568bedacf20c2c92ce37a8fe9f..2916bf8100dc485e3e34847d9995904a40df2bc3 100644 |
--- a/gpu/command_buffer/service/command_buffer_service.cc |
+++ b/gpu/command_buffer/service/command_buffer_service.cc |
@@ -82,10 +82,10 @@ int32 CommandBufferService::CreateTransferBuffer(size_t size) { |
if (unused_registered_object_elements_.empty()) { |
// Check we haven't exceeded the range that fits in a 32-bit integer. |
- int32 handle = static_cast<int32>(registered_objects_.size()); |
- if (handle != registered_objects_.size()) |
+ if (registered_objects_.size() > std::numeric_limits<uint32>::max()) |
return -1; |
+ int32 handle = static_cast<int32>(registered_objects_.size()); |
registered_objects_.push_back(buffer); |
return handle; |
} |