Commit: 1b2b7cfa2007172e07d78324bb941d0160b59c42 Author: Mai Lavelle Date: Thu Sep 22 17:34:14 2016 -0400 Branches: master https://developer.blender.org/rB1b2b7cfa2007172e07d78324bb941d0160b59c42
Cycles: Fix overflow caused by wrong size calculation in Mesh::add_undisplaced =================================================================== M intern/cycles/render/mesh.cpp =================================================================== diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp index 2d297c3..3eff35b 100644 --- a/intern/cycles/render/mesh.cpp +++ b/intern/cycles/render/mesh.cpp @@ -601,6 +601,12 @@ void Mesh::add_undisplaced() /* copy verts */ size_t size = attr->buffer_size(this, (subdivision_type == SUBDIVISION_NONE) ? ATTR_PRIM_TRIANGLE : ATTR_PRIM_SUBD); + + /* Center points for ngons aren't stored in Mesh::verts but are included in size since they will be + * calculated later, we subtract them from size here so we don't have an overflow while copying. + */ + size -= num_ngons * attr->data_sizeof(); + if(size) { memcpy(data, verts.data(), size); } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs