From 7083ea36e20a8364a37dc4a21d9a02002c80a8da Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 15 Feb 2022 19:48:14 +1100 Subject: [PATCH] Fix T94085: Crash with empty stroke list --- source/blender/editors/curve/editcurve_paint.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/blender/editors/curve/editcurve_paint.c b/source/blender/editors/curve/editcurve_paint.c index 403ace56e3b..e56eaeb8295 100644 --- a/source/blender/editors/curve/editcurve_paint.c +++ b/source/blender/editors/curve/editcurve_paint.c @@ -588,6 +588,14 @@ static bool curve_draw_init(bContext *C, wmOperator *op, bool is_invoke) cdd->vc.scene = CTX_data_scene(C); cdd->vc.view_layer = CTX_data_view_layer(C); cdd->vc.obedit = CTX_data_edit_object(C); + + /* Using an empty stroke complicates logic later, + * it's simplest to disallow early on (see: T94085). */ + if (RNA_collection_length(op->ptr, "stroke") == 0) { + MEM_freeN(cdd); + BKE_report(op->reports, RPT_ERROR, "The \"stroke\" cannot be empty"); + return false; + } } op->customdata = cdd;