From e771ea3d9862ef7926e9ff3cf4a63a6e578ea5fd Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 31 May 2024 15:26:39 +1000 Subject: [PATCH] Fix use of uninitialized stack memory when registering a Macro The draw callback could be assigned even when it's not in the Python class. --- source/blender/makesrna/intern/rna_wm.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/makesrna/intern/rna_wm.cc b/source/blender/makesrna/intern/rna_wm.cc index a7d881a7925..062d237f7ae 100644 --- a/source/blender/makesrna/intern/rna_wm.cc +++ b/source/blender/makesrna/intern/rna_wm.cc @@ -1733,7 +1733,7 @@ static StructRNA *rna_MacroOperator_register(Main *bmain, const char *error_prefix = "Registering operator macro class:"; wmOperatorType dummy_ot = {nullptr}; wmOperator dummy_operator = {nullptr}; - bool have_function[4]; + bool have_function[2]; struct { char idname[OP_MAX_TYPENAME]; @@ -1837,7 +1837,7 @@ static StructRNA *rna_MacroOperator_register(Main *bmain, dummy_ot.rna_ext.free = free; dummy_ot.pyop_poll = (have_function[0]) ? rna_operator_poll_cb : nullptr; - dummy_ot.ui = (have_function[3]) ? rna_operator_draw_cb : nullptr; + dummy_ot.ui = (have_function[1]) ? rna_operator_draw_cb : nullptr; WM_operatortype_append_macro_ptr(BPY_RNA_operator_macro_wrapper, (void *)&dummy_ot);