diff options
author | 2015-01-23 04:24:16 -0800 | |
---|---|---|
committer | 2015-01-23 04:24:16 -0800 | |
commit | 7983bf914a6df040befe2aafb3657c469b678257 (patch) | |
tree | 96504e9bd70e832fe38f99177d9ae02c756a2110 /src | |
parent | 24db3b1c35fb935660229da164fc5ad31977387f (diff) |
more reinforcement that images never have zero width or height
BUG=skia:
Review URL: https://codereview.chromium.org/869743002
Diffstat (limited to 'src')
-rw-r--r-- | src/image/SkImage_Gpu.cpp | 2 | ||||
-rw-r--r-- | src/image/SkImage_Raster.cpp | 7 |
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)); } |