Commit: 5cb1251222e397edee54fcb96eb083c254c2f720
Author: Sergey Sharybin
Date:   Thu Sep 22 17:30:31 2016 +0200
Branches: blender-v2.78-release
https://developer.blender.org/rB5cb1251222e397edee54fcb96eb083c254c2f720

Fix T49417: Cycles crash - can't use 5 Gigabyte Tile EXR texture file

Was an integer overflow issue when calculating offsets.

===================================================================

M       intern/cycles/render/image.cpp

===================================================================

diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp
index 2454360..8ac5699 100644
--- a/intern/cycles/render/image.cpp
+++ b/intern/cycles/render/image.cpp
@@ -585,8 +585,7 @@ bool ImageManager::file_load_float_image(Image *img, 
ImageDataType type, device_
                }
 
                if(depth <= 1) {
-                       int scanlinesize = width*components*sizeof(float);
-
+                       size_t scanlinesize = 
((size_t)width)*components*sizeof(float);
                        in->read_image(TypeDesc::FLOAT,
                                       (uchar*)readpixels + 
(height-1)*scanlinesize,
                                       AutoStride,
@@ -694,8 +693,7 @@ bool ImageManager::file_load_half_image(Image *img, 
ImageDataType type, device_v
                }
 
                if(depth <= 1) {
-                       int scanlinesize = width*components*sizeof(half);
-
+                       size_t scanlinesize = 
((size_t)width)*components*sizeof(half);
                        in->read_image(TypeDesc::HALF,
                                       (uchar*)readpixels + 
(height-1)*scanlinesize,
                                       AutoStride,

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to