forked from OSchip/llvm-project
2e74b6d80f
.gcno, .gcda and source files can be modified while we are reading them. If the concurrent modification of a file being read nullifies the NUL terminator assumption, llvm-cov can trip over an assertion failure in MemoryBuffer::init. This is not so rare - the source files can be in an editor and .gcda can be written by an running process (if the process forks, when .gcda gets written is probably more unpredictable). There is no accompanying test because an assertion failure requires data races with some involved setting. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CodeCoverage.cpp | ||
CoverageExporter.h | ||
CoverageExporterJson.cpp | ||
CoverageExporterJson.h | ||
CoverageExporterLcov.cpp | ||
CoverageExporterLcov.h | ||
CoverageFilters.cpp | ||
CoverageFilters.h | ||
CoverageReport.cpp | ||
CoverageReport.h | ||
CoverageSummaryInfo.cpp | ||
CoverageSummaryInfo.h | ||
CoverageViewOptions.h | ||
LLVMBuild.txt | ||
RenderingSupport.h | ||
SourceCoverageView.cpp | ||
SourceCoverageView.h | ||
SourceCoverageViewHTML.cpp | ||
SourceCoverageViewHTML.h | ||
SourceCoverageViewText.cpp | ||
SourceCoverageViewText.h | ||
TestingSupport.cpp | ||
gcov.cpp | ||
llvm-cov.cpp |