aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2015-01-23 04:24:16 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-01-23 04:24:16 -0800
commit7983bf914a6df040befe2aafb3657c469b678257 (patch)
tree96504e9bd70e832fe38f99177d9ae02c756a2110 /src
parent24db3b1c35fb935660229da164fc5ad31977387f (diff)
more reinforcement that images never have zero width or height
Diffstat (limited to 'src')
-rw-r--r--src/image/SkImage_Gpu.cpp2
-rw-r--r--src/image/SkImage_Raster.cpp7
2 files changed, 8 insertions, 1 deletions
diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp
index 350a1e88de..8169b2a131 100644
--- a/src/image/SkImage_Gpu.cpp
+++ b/src/image/SkImage_Gpu.cpp
@@ -89,7 +89,7 @@ bool SkImage_Gpu::isOpaque() const {
///////////////////////////////////////////////////////////////////////////////
SkImage* SkNewImageFromBitmapTexture(const SkBitmap& bitmap, int sampleCountForNewSurfaces) {
- if (NULL == bitmap.getTexture()) {
+ if (0 == bitmap.width() || 0 == bitmap.height() || NULL == bitmap.getTexture()) {
return NULL;
}
return SkNEW_ARGS(SkImage_Gpu, (bitmap, sampleCountForNewSurfaces));
diff --git a/src/image/SkImage_Raster.cpp b/src/image/SkImage_Raster.cpp
index 4636686e8d..1dd57d6dc2 100644
--- a/src/image/SkImage_Raster.cpp
+++ b/src/image/SkImage_Raster.cpp
@@ -186,11 +186,18 @@ SkImage* SkImage::NewFromGenerator(SkImageGenerator* generator) {
if (!SkInstallDiscardablePixelRef(generator, &bitmap)) {
return NULL;
}
+ if (0 == bitmap.width() || 0 == bitmap.height()) {
+ return NULL;
+ }
+
return SkNEW_ARGS(SkImage_Raster, (bitmap, NULL));
}
SkImage* SkNewImageFromPixelRef(const SkImageInfo& info, SkPixelRef* pr, size_t rowBytes,
const SkSurfaceProps* props) {
+ if (!SkImage_Raster::ValidArgs(info, rowBytes)) {
+ return NULL;
+ }
return SkNEW_ARGS(SkImage_Raster, (info, pr, rowBytes, props));
}