Fix use after free in PDB linker.
When merging in types from a type server PDB, we would use a pointer into the type server PDB's mapped file buffer directly to avoid copying data. However, we would close the type server PDB after we finished merging in its types, which would unmap all of its memory. This would lead to a use after free. We fix this by making a strong reference in the PDBLinker class to all referenced type server PDBs, thereby making it safe to hold pointers into its memory mapped contents. This fixes llvm.org/pr36455 Differential Revision: https://reviews.llvm.org/D43834 llvm-svn: 326345
Loading
Please register or sign in to comment