Browse Source

Fixed crash when restoring a group filter that tries to instantiate an abstract class

Jorrit Rouwe 2 years ago
parent
commit
f59dbeb991
1 changed files with 5 additions and 0 deletions
  1. 5 0
      Jolt/Physics/Collision/GroupFilter.cpp

+ 5 - 0
Jolt/Physics/Collision/GroupFilter.cpp

@@ -48,6 +48,11 @@ GroupFilter::GroupFilterResult GroupFilter::sRestoreFromBinaryState(StreamIn &in
 
 
 	// Construct and read the data of the group filter
 	// Construct and read the data of the group filter
 	Ref<GroupFilter> group_filter = reinterpret_cast<GroupFilter *>(rtti->CreateObject());
 	Ref<GroupFilter> group_filter = reinterpret_cast<GroupFilter *>(rtti->CreateObject());
+	if (group_filter == nullptr)
+	{
+		result.SetError("Failed to create instance of group filter");
+		return result;
+	}
 	group_filter->RestoreBinaryState(inStream);
 	group_filter->RestoreBinaryState(inStream);
 	if (inStream.IsEOF() || inStream.IsFailed())
 	if (inStream.IsEOF() || inStream.IsFailed())
 	{
 	{