[MachO] Fix use after free.
authorMichael J. Spencer <bigcheesegs@gmail.com>
Thu, 1 Nov 2012 19:46:06 +0000 (19:46 +0000)
committerMichael J. Spencer <bigcheesegs@gmail.com>
Thu, 1 Nov 2012 19:46:06 +0000 (19:46 +0000)
llvm-svn: 167245

lld/lib/ReaderWriter/MachO/WriterMachO.cpp

index bd2b9bb..3e00b31 100644 (file)
@@ -206,6 +206,7 @@ private:
   dyld_info_command           *_dyldInfoLoadCommand;
   std::vector<load_command*>   _loadCmds;
   std::vector<ChunkSegInfo>    _sectionInfo;
+  llvm::StringMap<uint32_t> dylibNamesToOrdinal;
 };
 
 
@@ -774,7 +775,6 @@ void LoadCommandsChunk::computeSize(const lld::File &file) {
   this->addLoadCommand(new dylinker_command("/usr/lib/dyld", is64));
 
   // Add dylib load commands.
-  llvm::StringMap<uint32_t> dylibNamesToOrdinal;
   for (const SharedLibraryAtom* shlibAtom : file.sharedLibrary() ) {
     StringRef installName = shlibAtom->loadName();
     if ( dylibNamesToOrdinal.count(installName) == 0 ) {