[Bf-blender-cvs] [9d04fa39d13] master: Fix T84063: crash reading pointer properties in Attribute shader node

Brecht Van Lommel noreply at git.blender.org
Wed Dec 23 15:50:55 CET 2020


Commit: 9d04fa39d13b75b207fa7ab0315cb7731ecfff06
Author: Brecht Van Lommel
Date:   Wed Dec 23 15:45:55 2020 +0100
Branches: master
https://developer.blender.org/rB9d04fa39d13b75b207fa7ab0315cb7731ecfff06

Fix T84063: crash reading pointer properties in Attribute shader node

Path resolving can find e.g. a datablock rather than a float or integer,
treat that as a failure to find a valid property.

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

M	intern/cycles/blender/blender_object.cpp
M	source/blender/draw/intern/draw_instance_data.c

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

diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp
index 4a70cbbf41f..5261fbcee07 100644
--- a/intern/cycles/blender/blender_object.cpp
+++ b/intern/cycles/blender/blender_object.cpp
@@ -351,6 +351,10 @@ static bool lookup_property(BL::ID b_id, const string &name, float4 *r_value)
     return false;
   }
 
+  if (prop == NULL) {
+    return false;
+  }
+
   PropertyType type = RNA_property_type(prop);
   int arraylen = RNA_property_array_length(&ptr, prop);
 
diff --git a/source/blender/draw/intern/draw_instance_data.c b/source/blender/draw/intern/draw_instance_data.c
index ba03cee8149..449f2cd9606 100644
--- a/source/blender/draw/intern/draw_instance_data.c
+++ b/source/blender/draw/intern/draw_instance_data.c
@@ -633,6 +633,10 @@ static bool drw_uniform_property_lookup(ID *id, const char *name, float r_data[4
     return false;
   }
 
+  if (prop == NULL) {
+    return false;
+  }
+
   PropertyType type = RNA_property_type(prop);
   int arraylen = RNA_property_array_length(&ptr, prop);



More information about the Bf-blender-cvs mailing list