diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-09-04 14:14:54 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2017-09-04 15:06:08 +0300 |
commit | c9d653e5601cdb373e9ed8f42d981d5e6f957b75 (patch) | |
tree | 8cef10b7b3fa8b824a55e91a8c0aa42526b319be | |
parent | 1ae30562610c86f7b77df248628e68bb208981ed (diff) |
Fix T52533: Blender shuts down when rendering duplicated smoke domain
-rw-r--r-- | intern/cycles/render/image.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp index 02b65440154..595eb46319a 100644 --- a/intern/cycles/render/image.cpp +++ b/intern/cycles/render/image.cpp @@ -528,6 +528,10 @@ bool ImageManager::file_load_image(Image *img, vector<StorageType> pixels_storage; StorageType *pixels; const size_t max_size = max(max(width, height), depth); + if(max_size == 0) { + /* Don't bother with invalid images. */ + return false; + } if(texture_limit > 0 && max_size > texture_limit) { pixels_storage.resize(((size_t)width)*height*depth*4); pixels = &pixels_storage[0]; @@ -535,6 +539,10 @@ bool ImageManager::file_load_image(Image *img, else { pixels = (StorageType*)tex_img.resize(width, height, depth); } + if(pixels == NULL) { + /* Could be that we've run out of memory. */ + return false; + } bool cmyk = false; const size_t num_pixels = ((size_t)width) * height * depth; if(in) { |