Skip to content

Commit 1c0569f

Browse files
committed
Fix crash when displaying variable with null type in pseudo-c and pseudo-rust
1 parent e2d75d9 commit 1c0569f

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

lang/c/pseudoc.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,7 @@ void PseudoCFunction::AppendFieldTextTokens(const HighLevelILInstruction& instr,
554554

555555
const auto type = GetFieldType(srcExpr, false);
556556
const auto fieldDisplayType = GetFieldDisplayType(type, fieldOffset, memberIndex, false);
557-
if (fieldDisplayType == FieldDisplayOffset)
557+
if (type && fieldDisplayType == FieldDisplayOffset)
558558
{
559559
if (!addrOf)
560560
tokens.Append(OperationToken, "*");
@@ -656,7 +656,7 @@ void PseudoCFunction::AppendFieldTextTokens(const HighLevelILInstruction& instr,
656656
if (memberIndex != BN_INVALID_EXPR)
657657
memberIndexHint = memberIndex;
658658

659-
if (type->GetStructure()->ResolveMemberOrBaseMember(
659+
if (type && type->GetStructure()->ResolveMemberOrBaseMember(
660660
GetFunction()->GetView(), fieldOffset, 0,
661661
[&](NamedTypeReference*, Structure* s, size_t memberIndex, uint64_t structOffset,
662662
uint64_t adjustedOffset, const StructureMember& member) {

lang/rust/pseudorust.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ void PseudoRustFunction::AppendFieldTextTokens(const HighLevelILInstruction& ins
507507

508508
const auto type = GetFieldType(srcExpr, false);
509509
const auto fieldDisplayType = GetFieldDisplayType(type, fieldOffset, memberIndex, false);
510-
if (fieldDisplayType == FieldDisplayOffset)
510+
if (type && fieldDisplayType == FieldDisplayOffset)
511511
{
512512
if (!addrOf)
513513
tokens.Append(OperationToken, "*");
@@ -621,7 +621,7 @@ void PseudoRustFunction::AppendFieldTextTokens(const HighLevelILInstruction& ins
621621
if (memberIndex != BN_INVALID_EXPR)
622622
memberIndexHint = memberIndex;
623623

624-
if (type->GetStructure()->ResolveMemberOrBaseMember(
624+
if (type && type->GetStructure()->ResolveMemberOrBaseMember(
625625
GetFunction()->GetView(), fieldOffset, 0,
626626
[&](NamedTypeReference*, Structure* s, size_t memberIndex, uint64_t structOffset,
627627
uint64_t adjustedOffset, const StructureMember& member) {

0 commit comments

Comments
 (0)