Skip to content

Commit 853097d

Browse files
committed
Ignore member tags that are not DW_TAG_member
Defensive code for in case member->name is NULL
1 parent 03826a7 commit 853097d

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

renderdoc/driver/shaders/dxil/dxil_debug.cpp

+6-3
Original file line numberDiff line numberDiff line change
@@ -6500,10 +6500,13 @@ const TypeData &Debugger::AddDebugType(const DXIL::Metadata *typeMD)
65006500
continue;
65016501

65026502
const DXIL::DIDerivedType *member = memberBase->As<DIDerivedType>();
6503-
RDCASSERTEQUAL(member->tag, DXIL::DW_TAG_member);
6504-
// const TypeData &memberType = AddDebugType(member->base);
6503+
// Ignore any member tag that isn't DXIL::DW_TAG_member
6504+
if(member->tag != DXIL::DW_TAG_member)
6505+
continue;
65056506
AddDebugType(member->base);
6506-
typeData.structMembers.push_back({*member->name, member->base});
6507+
RDCASSERT(member->name);
6508+
rdcstr memberName = member->name ? *member->name : "NULL";
6509+
typeData.structMembers.push_back({memberName, member->base});
65076510
uint32_t offset = (uint32_t)member->offsetInBits / 8;
65086511
typeData.memberOffsets.push_back(offset);
65096512
}

0 commit comments

Comments
 (0)