summaryrefslogtreecommitdiff
path: root/binaryview.cpp
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2021-04-19 15:39:33 -0400
committerBrian Potchik <brian@vector35.com>2021-04-19 15:39:33 -0400
commit224e24b283b8be99415431856e6b63dea7305996 (patch)
tree96440f2c02cc012ad625bcded8b0c64c2759b785 /binaryview.cpp
parent0d52013908d977a12c35e6a03226a90107321c63 (diff)
Fix Mach-O duplicate symbol handling for external relocations.
Diffstat (limited to 'binaryview.cpp')
-rw-r--r--binaryview.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/binaryview.cpp b/binaryview.cpp
index a803bf2e..f791090b 100644
--- a/binaryview.cpp
+++ b/binaryview.cpp
@@ -2211,10 +2211,12 @@ void BinaryView::DefineAutoSymbol(Ref<Symbol> sym)
}
-void BinaryView::DefineAutoSymbolAndVariableOrFunction(Ref<Platform> platform, Ref<Symbol> sym, Ref<Type> type)
+Ref<Symbol> BinaryView::DefineAutoSymbolAndVariableOrFunction(Ref<Platform> platform, Ref<Symbol> sym, Ref<Type> type)
{
- BNDefineAutoSymbolAndVariableOrFunction(m_object, platform ? platform->GetObject() : nullptr, sym->GetObject(),
- type ? type->GetObject() : nullptr);
+ BNSymbol* result = BNDefineAutoSymbolAndVariableOrFunction(m_object, platform ? platform->GetObject() : nullptr, sym->GetObject(), type ? type->GetObject() : nullptr);
+ if (!result)
+ return nullptr;
+ return new Symbol(result);
}