Fix T52533: Blender shuts down when rendering duplicated smoke domain

This commit is contained in:
Sergey Sharybin 2017-09-04 13:14:54 +02:00
parent 3789ab4166
commit 33249f6987

@ -522,6 +522,10 @@ bool ImageManager::file_load_image(Image *img,
vector<StorageType> pixels_storage; vector<StorageType> pixels_storage;
StorageType *pixels; StorageType *pixels;
const size_t max_size = max(max(width, height), depth); 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) { if(texture_limit > 0 && max_size > texture_limit) {
pixels_storage.resize(((size_t)width)*height*depth*4); pixels_storage.resize(((size_t)width)*height*depth*4);
pixels = &pixels_storage[0]; pixels = &pixels_storage[0];
@ -529,6 +533,10 @@ bool ImageManager::file_load_image(Image *img,
else { else {
pixels = (StorageType*)tex_img.resize(width, height, depth); 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; bool cmyk = false;
const size_t num_pixels = ((size_t)width) * height * depth; const size_t num_pixels = ((size_t)width) * height * depth;
if(in) { if(in) {