diff options
| author | Francis Ricci <francisjricci@gmail.com> | 2017-09-13 13:57:45 +0000 |
|---|---|---|
| committer | Francis Ricci <francisjricci@gmail.com> | 2017-09-13 13:57:45 +0000 |
| commit | 1bae0ac4c2d024d38da7d9a8dea5b6d9f5b822ba (patch) | |
| tree | f63188973262637e3babc4c928b97a86dbb17211 /llvm/tools | |
| parent | 81f5abe1add34519bcede582b6b1ca3d6ed895c1 (diff) | |
| download | bcm5719-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.cpp | 7 |
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) |

