[Bf-blender-cvs] [5cb1251] blender-v2.78-release: Fix T49417: Cycles crash - can't use 5 Gigabyte Tile EXR texture file

Sergey Sharybin noreply at git.blender.org
Mon Sep 26 10:54:11 CEST 2016


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,




More information about the Bf-blender-cvs mailing list