Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-09-04 14:14:54 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-09-04 14:14:54 +0300
commit33249f698780291a0de276d9df36c1d2473667e6 (patch)
tree6e5e3af21266ef990cef0899d2886ffda83a7c81 /intern/cycles
parent3789ab4166c40d254ab1cf9f07d429730650efdb (diff)
Fix T52533: Blender shuts down when rendering duplicated smoke domain
Diffstat (limited to 'intern/cycles')
-rw-r--r--intern/cycles/render/image.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp
index 80ec77f8b4a..bb94b9bb82a 100644
--- a/intern/cycles/render/image.cpp
+++ b/intern/cycles/render/image.cpp
@@ -522,6 +522,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];
@@ -529,6 +533,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) {