[Bf-blender-cvs] [45eed8246] master: BMesh Operators: BMO_op_finish now overwrites values in debug mode

Campbell Barton noreply at git.blender.org
Wed Nov 27 03:46:48 CET 2013


Commit: 45eed8246a8803efb23693a2b09d020daa5dd22a
Author: Campbell Barton
Date:   Wed Nov 27 13:42:24 2013 +1100
http://developer.blender.org/rB45eed8246a8803efb23693a2b09d020daa5dd22a

BMesh Operators: BMO_op_finish now overwrites values in debug mode

This should prevent accidental use-after-free.

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

M	source/blender/bmesh/intern/bmesh_operators.c

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

diff --git a/source/blender/bmesh/intern/bmesh_operators.c b/source/blender/bmesh/intern/bmesh_operators.c
index 611ee4d..b443970 100644
--- a/source/blender/bmesh/intern/bmesh_operators.c
+++ b/source/blender/bmesh/intern/bmesh_operators.c
@@ -238,6 +238,9 @@ void BMO_op_finish(BMesh *bm, BMOperator *op)
 
 #ifdef DEBUG
 	BM_ELEM_INDEX_VALIDATE(bm, "post bmo", bmo_opdefines[op->type]->opname);
+
+	/* avoid accidental re-use */
+	memset(op, 0xff, sizeof(*op));
 #else
 	(void)bm;
 #endif




More information about the Bf-blender-cvs mailing list