GLsizei is historically defined as a 32-bit signed integer, which is not allowed to be negative. But doing arithmetic with them can lead to overflows producing undefined values, including negative ones. Use size_t instead for these image data size calculations. It's defined as an unsigned integer large enough to fit valid memory buffer sizes. In practice that's 32-bit on 32-bit platforms, and 64-bit on 64-bit ones, which is large enough to avoid overflow in the OutOfMemory test. Bug: b/140421004 Change-Id: Id05dd64d470f579455fdc9925b0ab303ecaf37fb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/36968Tested-by:Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| BUILD.gn | Loading commit data... | |
| Buffer.cpp | Loading commit data... | |
| Buffer.h | Loading commit data... | |
| Context.cpp | Loading commit data... | |
| Context.h | Loading commit data... | |
| Device.cpp | Loading commit data... | |
| Device.hpp | Loading commit data... | |
| Fence.cpp | Loading commit data... | |
| Fence.h | Loading commit data... | |
| Framebuffer.cpp | Loading commit data... | |
| Framebuffer.h | Loading commit data... | |
| IndexDataManager.cpp | Loading commit data... | |
| IndexDataManager.h | Loading commit data... | |
| Program.cpp | Loading commit data... | |
| Program.h | Loading commit data... | |
| Query.cpp | Loading commit data... | |
| Query.h | Loading commit data... | |
| Renderbuffer.cpp | Loading commit data... | |
| Renderbuffer.h | Loading commit data... | |
| ResourceManager.cpp | Loading commit data... | |
| ResourceManager.h | Loading commit data... | |
| Sampler.h | Loading commit data... | |
| Shader.cpp | Loading commit data... | |
| Shader.h | Loading commit data... | |
| Texture.cpp | Loading commit data... | |
| Texture.h | Loading commit data... | |
| TransformFeedback.cpp | Loading commit data... | |
| TransformFeedback.h | Loading commit data... | |
| VertexArray.cpp | Loading commit data... | |
| VertexArray.h | Loading commit data... | |
| VertexDataManager.cpp | Loading commit data... | |
| VertexDataManager.h | Loading commit data... | |
| entry_points.cpp | Loading commit data... | |
| entry_points.h | Loading commit data... | |
| libGLESv2.cpp | Loading commit data... | |
| libGLESv2.def | Loading commit data... | |
| libGLESv2.exports | Loading commit data... | |
| libGLESv2.hpp | Loading commit data... | |
| libGLESv2.lds | Loading commit data... | |
| libGLESv2.rc | Loading commit data... | |
| libGLESv2.vcxproj | Loading commit data... | |
| libGLESv2.vcxproj.filters | Loading commit data... | |
| libGLESv3.cpp | Loading commit data... | |
| main.cpp | Loading commit data... | |
| main.h | Loading commit data... | |
| mathutil.h | Loading commit data... | |
| resource.h | Loading commit data... | |
| utilities.cpp | Loading commit data... | |
| utilities.h | Loading commit data... |