summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--objectivec/objc.cpp6
-rw-r--r--view/macho/machoview.cpp5
-rw-r--r--view/macho/machoview.h2
3 files changed, 6 insertions, 7 deletions
diff --git a/objectivec/objc.cpp b/objectivec/objc.cpp
index 727005e7..9d35d5e9 100644
--- a/objectivec/objc.cpp
+++ b/objectivec/objc.cpp
@@ -1352,9 +1352,9 @@ void ObjCProcessor::PostProcessObjCSections(ObjCReader* reader)
// The ivar section contains entries of type `long` for for all architectures
// except arm64, which uses `int` for the ivar offset.
size_t ivarOffsetSize = m_data->GetDefaultArchitecture()->GetName() == "aarch64" ? 4 : ptrSize;
- auto ivarSectionEntryTypeBuilder = new TypeBuilder(Type::IntegerType(ivarOffsetSize, false));
- ivarSectionEntryTypeBuilder->SetConst(true);
- auto type = ivarSectionEntryTypeBuilder->Finalize();
+ TypeBuilder ivarSectionEntryTypeBuilder(Type::IntegerType(ivarOffsetSize, false));
+ ivarSectionEntryTypeBuilder.SetConst(true);
+ auto type = ivarSectionEntryTypeBuilder.Finalize();
for (view_ptr_t i = start; i < end; i += ivarOffsetSize)
{
m_data->DefineDataVariable(i, type);
diff --git a/view/macho/machoview.cpp b/view/macho/machoview.cpp
index 161da798..dba8f9dc 100644
--- a/view/macho/machoview.cpp
+++ b/view/macho/machoview.cpp
@@ -264,7 +264,6 @@ MachOHeader MachoView::HeaderForAddress(BinaryView* data, uint64_t address, bool
header.isMainHeader = isMainHeader;
header.identifierPrefix = identifierPrefix;
- header.stringList = new DataBuffer();
std::string errorMsg;
if (isMainHeader) {
@@ -608,7 +607,7 @@ MachOHeader MachoView::HeaderForAddress(BinaryView* data, uint64_t address, bool
header.symtab.stroff = reader.Read32();
header.symtab.strsize = reader.Read32();
reader.Seek(header.symtab.stroff);
- header.stringList->Append(reader.Read(header.symtab.strsize));
+ header.stringList.Append(reader.Read(header.symtab.strsize));
header.stringListSize = header.symtab.strsize;
m_logger->LogDebug("\tstrsize: %08x\n" \
"\tstroff: %08x\n" \
@@ -3131,7 +3130,7 @@ void MachoView::ParseSymbolTable(BinaryReader& reader, MachOHeader& header, cons
if (sym.n_strx >= symtab.strsize || ((sym.n_type & N_TYPE) == N_INDR))
continue;
- string symbol((char*)header.stringList->GetDataAt(sym.n_strx));
+ string symbol((char*)header.stringList.GetDataAt(sym.n_strx));
m_symbols.push_back(symbol);
//otool ignores symbols that end with ".o", startwith "ltmp" or are "gcc_compiled." so do we
if (symbol == "gcc_compiled." ||
diff --git a/view/macho/machoview.h b/view/macho/machoview.h
index c05d03a8..d9c02b08 100644
--- a/view/macho/machoview.h
+++ b/view/macho/machoview.h
@@ -1413,7 +1413,7 @@ namespace BinaryNinja
linkedit_data_command chainedFixups {};
section_64 chainStarts {};
- DataBuffer* stringList;
+ DataBuffer stringList;
size_t stringListSize = 0;
uint64_t relocationBase = 0;