| Index: gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| index a3ad42338965a9e9f7e5c85fb6e133d83079545d..ca922438ca23ea5bbf51ee36d3400b98e8f397ff 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| @@ -11117,9 +11117,10 @@ void GLES2DecoderImpl::DoCompressedTexSubImage3D(
|
| "glCompressedTexSubImage3D", format, "format");
|
| return;
|
| }
|
| - if (width < 0 || height < 0 || depth < 0) {
|
| + if (!texture_manager()->ValidForTarget(target, level, width, height, depth)) {
|
| LOCAL_SET_GL_ERROR(
|
| - GL_INVALID_VALUE, "glCompressedTexSubImage3D", "size < 0");
|
| + GL_INVALID_VALUE,
|
| + "glCompressedTexSubImage3D", "dimensions out of range");
|
| return;
|
| }
|
| if (image_size < 0) {
|
| @@ -11341,6 +11342,12 @@ void GLES2DecoderImpl::DoCompressedTexSubImage2D(
|
| "glCompressedTexSubImage2D", "unknown texture for target");
|
| return;
|
| }
|
| + if (!texture_manager()->ValidForTarget(target, level, width, height, 1)) {
|
| + LOCAL_SET_GL_ERROR(
|
| + GL_INVALID_VALUE,
|
| + "glCompressedTexSubImage2D", "dimensions out of range");
|
| + return;
|
| + }
|
| Texture* texture = texture_ref->texture();
|
| GLenum type = 0;
|
| GLenum internal_format = 0;
|
|
|