summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
authorFrancis Ricci <francisjricci@gmail.com>2017-09-13 13:57:45 +0000
committerFrancis Ricci <francisjricci@gmail.com>2017-09-13 13:57:45 +0000
commit1bae0ac4c2d024d38da7d9a8dea5b6d9f5b822ba (patch)
treef63188973262637e3babc4c928b97a86dbb17211 /llvm/tools
parent81f5abe1add34519bcede582b6b1ca3d6ed895c1 (diff)
downloadbcm5719-llvm-1bae0ac4c2d024d38da7d9a8dea5b6d9f5b822ba.tar.gz
bcm5719-llvm-1bae0ac4c2d024d38da7d9a8dea5b6d9f5b822ba.zip
[llvm-objdump] Fix memory leaks in macho dump
Summary: Detected by LeakSanitizer for Darwin Reviewers: enderby, rafael Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37750 llvm-svn: 313146
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/llvm-objdump/MachODump.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp
index 83b21ac70ff..6d3f38333eb 100644
--- a/llvm/tools/llvm-objdump/MachODump.cpp
+++ b/llvm/tools/llvm-objdump/MachODump.cpp
@@ -5881,7 +5881,9 @@ static void PrintXarFilesSummary(const char *XarFilename, xar_t xar) {
if(name != nullptr)
outs() << name;
outs() << "\n";
+ xar_iter_free(xp);
}
+ xar_iter_free(xi);
}
static void DumpBitcodeSection(MachOObjectFile *O, const char *sect,
@@ -6044,7 +6046,7 @@ static void DumpBitcodeSection(MachOObjectFile *O, const char *sect,
char *endptr;
member_size = strtoul(member_size_string, &endptr, 10);
if (*endptr == '\0' && member_size != 0) {
- char *buffer = (char *)::operator new(member_size);
+ char *buffer;
if (xar_extract_tobuffersz(xar, xf, &buffer, &member_size) == 0) {
#if 0 // Useful for debugging.
outs() << "xar member: " << member_name << " extracted\n";
@@ -6075,12 +6077,13 @@ static void DumpBitcodeSection(MachOObjectFile *O, const char *sect,
XarMemberName);
}
XarMemberName = OldXarMemberName;
+ delete buffer;
}
- delete buffer;
}
}
xar_iter_free(xp);
}
+ xar_iter_free(xi);
xar_close(xar);
}
#endif // defined(HAVE_LIBXAR)
OpenPOWER on IntegriCloud