1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/tools/llvm-pdbdump
Zachary Turner a10e920415 [PDB] Fix use after free.
Previously MappedBlockStream owned its own BumpPtrAllocator that
it would allocate from when a read crossed a block boundary.  This
way it could still return the user a contiguous buffer of the
requested size.  However, It's not uncommon to open a stream, read
some stuff, close it, and then save the information for later.
After all, since the entire file is mapped into memory, the data
should always be available as long as the file is open.

Of course, the exception to this is when the data isn't *in* the
file, but rather in some buffer that we temporarily allocated to
present this contiguous view.  And this buffer would get destroyed
as soon as the strema was closed.

The fix here is to force the user to specify the allocator, this
way it can provide an allocator that has whatever lifetime it
chooses.

Differential Revision: https://reviews.llvm.org/D33858

llvm-svn: 304623
2017-06-03 00:33:35 +00:00
..
fuzzer [PDB] Fix use after free. 2017-06-03 00:33:35 +00:00
Analyze.cpp [CodeView] Move CodeView YAML code to ObjectYAML. 2017-05-30 21:53:05 +00:00
Analyze.h
C13DebugFragmentVisitor.cpp [CodeView] Rename ModuleDebugFragment -> DebugSubsection. 2017-05-30 16:36:15 +00:00
C13DebugFragmentVisitor.h [CodeView] Rename ModuleDebugFragment -> DebugSubsection. 2017-05-30 16:36:15 +00:00
CMakeLists.txt [CodeView] Move CodeView symbol yaml logic to ObjectYAML. 2017-05-30 23:50:44 +00:00
CompactTypeDumpVisitor.cpp [CodeView] Move CodeView YAML code to ObjectYAML. 2017-05-30 21:53:05 +00:00
CompactTypeDumpVisitor.h Resubmit "[CodeView] Provide a common interface for type collections." 2017-05-19 19:26:58 +00:00
Diff.cpp [llvm-readobj] Update readobj to re-use parsing code. 2017-05-03 17:11:11 +00:00
Diff.h
LinePrinter.cpp [llvm-pdbdump] Re-write the record layout code to be more resilient. 2017-04-24 17:47:24 +00:00
LinePrinter.h [llvm-pdbdump] Recursively dump class layout. 2017-04-13 21:11:00 +00:00
llvm-pdbdump.cpp [CodeView] Support CodeView subsections in any order. 2017-06-02 19:49:14 +00:00
llvm-pdbdump.h [llvm-pdbdump] pdb2yaml: add an -all option to dump everything we can 2017-05-26 23:46:20 +00:00
LLVMBuild.txt
LLVMOutputStyle.cpp [PDB] Fix use after free. 2017-06-03 00:33:35 +00:00
LLVMOutputStyle.h Resubmit "[CodeView] Provide a common interface for type collections." 2017-05-19 19:26:58 +00:00
OutputStyle.h
PdbYaml.cpp [CodeView] Support CodeView subsections in any order. 2017-06-02 19:49:14 +00:00
PdbYaml.h [CodeView] Support CodeView subsections in any order. 2017-06-02 19:49:14 +00:00
PrettyBuiltinDumper.cpp Improves pretty printing of variable types in llvm-pdbdump 2017-04-10 16:43:09 +00:00
PrettyBuiltinDumper.h
PrettyClassDefinitionDumper.cpp [llvm-pdbdump] Allow sorting / filtering by immediate padding 2017-04-25 20:22:29 +00:00
PrettyClassDefinitionDumper.h [llvm-pdbdump] Merge functionality of graphical and text dumpers. 2017-04-24 17:47:52 +00:00
PrettyClassLayoutGraphicalDumper.cpp [llvm-pdbdump] Don't crash when displaying padding. 2017-05-26 00:15:15 +00:00
PrettyClassLayoutGraphicalDumper.h [llvm-pdbdump] Merge functionality of graphical and text dumpers. 2017-04-24 17:47:52 +00:00
PrettyCompilandDumper.cpp [llvm-pdbdump] Add the option to sort functions and data. 2017-05-14 01:13:40 +00:00
PrettyCompilandDumper.h
PrettyEnumDumper.cpp
PrettyEnumDumper.h
PrettyExternalSymbolDumper.cpp
PrettyExternalSymbolDumper.h
PrettyFunctionDumper.cpp [llvm-pdbdump] Add the option to sort functions and data. 2017-05-14 01:13:40 +00:00
PrettyFunctionDumper.h
PrettyTypedefDumper.cpp [llvm-pdbdump] More advanced class definition dumping. 2017-04-12 23:18:21 +00:00
PrettyTypedefDumper.h
PrettyTypeDumper.cpp [llvm-pdbdump] Allow sorting / filtering by immediate padding 2017-04-25 20:22:29 +00:00
PrettyTypeDumper.h [llvm-pdbdump] Recursively dump class layout. 2017-04-13 21:11:00 +00:00
PrettyVariableDumper.cpp [llvm-pdbdump] Re-write the record layout code to be more resilient. 2017-04-24 17:47:24 +00:00
PrettyVariableDumper.h [llvm-pdbdump] Re-write the record layout code to be more resilient. 2017-04-24 17:47:24 +00:00
StreamUtil.cpp [PDB] Don't build the entire source file list up front. 2017-05-04 23:53:29 +00:00
StreamUtil.h
YAMLOutputStyle.cpp [PDB] Fix use after free. 2017-06-03 00:33:35 +00:00
YAMLOutputStyle.h [CodeView] Support CodeView subsections in any order. 2017-06-02 19:49:14 +00:00