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@blender.org>2022-01-19 18:01:41 +0300
committerSergey Sharybin <sergey@blender.org>2022-01-19 18:03:28 +0300
commitf179637222d1432b09c3c23201e1b7b75215b11a (patch)
tree1112b52688ccf0d9a6f140a68f19e6c474e27435
parentecf2f5ed017692dc25508a5462e73d6259e73eaf (diff)
Fix T95042: Rendering high-res image in Cycles crashes
Integer overflow when the final frame is handled by the Blender's output driver. Thanks Jesse and Thomas for investigation!
-rw-r--r--intern/cycles/blender/output_driver.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/intern/cycles/blender/output_driver.cpp b/intern/cycles/blender/output_driver.cpp
index 7b253e4cd3e..d5cc0c60bae 100644
--- a/intern/cycles/blender/output_driver.cpp
+++ b/intern/cycles/blender/output_driver.cpp
@@ -51,7 +51,7 @@ bool BlenderOutputDriver::read_render_tile(const Tile &tile)
BL::RenderLayer b_rlay = *b_single_rlay;
- vector<float> pixels(tile.size.x * tile.size.y * 4);
+ vector<float> pixels(static_cast<size_t>(tile.size.x) * tile.size.y * 4);
/* Copy each pass.
* TODO:copy only the required ones for better performance? */
@@ -109,7 +109,7 @@ void BlenderOutputDriver::write_render_tile(const Tile &tile)
BL::RenderLayer b_rlay = *b_single_rlay;
- vector<float> pixels(tile.size.x * tile.size.y * 4);
+ vector<float> pixels(static_cast<size_t>(tile.size.x) * tile.size.y * 4);
/* Copy each pass. */
for (BL::RenderPass &b_pass : b_rlay.passes) {