From 45eed8246a8803efb23693a2b09d020daa5dd22a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 27 Nov 2013 13:42:24 +1100 Subject: BMesh Operators: BMO_op_finish now overwrites values in debug mode This should prevent accidental use-after-free. --- source/blender/bmesh/intern/bmesh_operators.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'source/blender/bmesh/intern') diff --git a/source/blender/bmesh/intern/bmesh_operators.c b/source/blender/bmesh/intern/bmesh_operators.c index 611ee4d03b8..b4439703c4a 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 -- cgit v1.2.3