Add GL texture validity check to GrGpuGL
https://codereview.appspot.com/6817053/
git-svn-id: http://skia.googlecode.com/svn/trunk@6200 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/gl/GrGpuGL.cpp b/src/gpu/gl/GrGpuGL.cpp
index 04d0f8e..1d622bf 100644
--- a/src/gpu/gl/GrGpuGL.cpp
+++ b/src/gpu/gl/GrGpuGL.cpp
@@ -477,11 +477,20 @@
}
GrTexture* GrGpuGL::onWrapBackendTexture(const GrBackendTextureDesc& desc) {
- GrGLTexture::Desc glTexDesc;
if (!this->configToGLFormats(desc.fConfig, false, NULL, NULL, NULL)) {
return NULL;
}
+ if (0 == desc.fTextureHandle) {
+ return NULL;
+ }
+
+ int maxSize = this->getCaps().maxTextureSize();
+ if (desc.fWidth > maxSize || desc.fHeight > maxSize) {
+ return NULL;
+ }
+
+ GrGLTexture::Desc glTexDesc;
// next line relies on GrBackendTextureDesc's flags matching GrTexture's
glTexDesc.fFlags = (GrTextureFlags) desc.fFlags;
glTexDesc.fWidth = desc.fWidth;