Commit: 55f6cf2fbbefc5d4bea07d3c1ada7d79997bbcde
Author: Hugo Sales
Date:   Sat Jul 6 03:36:52 2019 +0100
Branches: soc-2019-fast-io
https://developer.blender.org/rB55f6cf2fbbefc5d4bea07d3c1ada7d79997bbcde

[Fast import/export] Fixed bug where address of temporary pointer is taken, 
leading to UB

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

M       source/blender/editors/io/intern/iterators.hpp

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

diff --git a/source/blender/editors/io/intern/iterators.hpp 
b/source/blender/editors/io/intern/iterators.hpp
index e96bc437685..b716238076c 100644
--- a/source/blender/editors/io/intern/iterators.hpp
+++ b/source/blender/editors/io/intern/iterators.hpp
@@ -181,11 +181,11 @@ struct vert_iter : pointer_iterator<MVert> {
 
 struct transformed_vertex_iter : pointer_iterator_base<MVert> {
   using Mat = const float (*)[4];  // Must actually be float[4][4]
-  transformed_vertex_iter(const Mesh *const m, const Mat &mat)
+  transformed_vertex_iter(const Mesh *const m, Mat mat)
       : pointer_iterator_base(m->mvert, m->totvert), mat(mat)
   {
   }
-  transformed_vertex_iter(const pointer_iterator_base<MVert> &pi, const Mat 
&mat)
+  transformed_vertex_iter(const pointer_iterator_base<MVert> &pi, Mat mat)
       : pointer_iterator_base(pi), mat(mat)
   {
   }
@@ -203,7 +203,7 @@ struct transformed_vertex_iter : 
pointer_iterator_base<MVert> {
     mul_v3_m4v3(co, mat, this->curr->co);
     return {co[0], co[1], co[2]};
   }
-  const Mat &mat;
+  Mat mat;
 };
 
 // Iterator over the vertices of a polygon

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to