[Bf-blender-cvs] [d374237d437] master: Fix T74838: fix dereferencing of NULL in sculpt_no_multires_poll when no active object exists

Robert Guetzkow noreply at git.blender.org
Tue Mar 17 16:47:31 CET 2020


Commit: d374237d43728ddc8503629cf1018befba82b81b
Author: Robert Guetzkow
Date:   Tue Mar 17 16:44:29 2020 +0100
Branches: master
https://developer.blender.org/rBd374237d43728ddc8503629cf1018befba82b81b

Fix T74838: fix dereferencing of NULL in sculpt_no_multires_poll when no active object exists

Fix crash when the operator search is used while no active object exists. The cause of the issue is an attempt to dereference `ob` when it is `NULL`. Therefore this patch checks the return value of `SCULPT_mode_poll()` first, to ensure that `ob` isn't `NULL`.

Reviewed By: pablodp606

Maniphest Tasks: T74838

Differential Revision: https://developer.blender.org/D7156

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

M	source/blender/editors/sculpt_paint/sculpt.c

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

diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index 79c4becd405..14c11523455 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -8371,9 +8371,8 @@ static void SCULPT_OT_optimize(wmOperatorType *ot)
 static bool sculpt_no_multires_poll(bContext *C)
 {
   Object *ob = CTX_data_active_object(C);
-  SculptSession *ss = ob->sculpt;
-  if (ss && ss->pbvh && SCULPT_mode_poll(C)) {
-    return BKE_pbvh_type(ss->pbvh) != PBVH_GRIDS;
+  if (SCULPT_mode_poll(C) && ob->sculpt && ob->sculpt->pbvh) {
+    return BKE_pbvh_type(ob->sculpt->pbvh) != PBVH_GRIDS;
   }
   return false;
 }



More information about the Bf-blender-cvs mailing list