hokein created this revision. hokein added a reviewer: ilya-biryukov. Passing nullptr to memcmp is UB.
Repository: rC Clang https://reviews.llvm.org/D50967 Files: lib/Frontend/PrecompiledPreamble.cpp Index: lib/Frontend/PrecompiledPreamble.cpp =================================================================== --- lib/Frontend/PrecompiledPreamble.cpp +++ lib/Frontend/PrecompiledPreamble.cpp @@ -416,6 +416,9 @@ Bounds.Size <= MainFileBuffer->getBufferSize() && "Buffer is too large. Bounds were calculated from a different buffer?"); + if (Bounds.Size == 0) + return PreambleBytes.size() == Bounds.Size; + auto PreambleInvocation = std::make_shared<CompilerInvocation>(Invocation); PreprocessorOptions &PreprocessorOpts = PreambleInvocation->getPreprocessorOpts();
Index: lib/Frontend/PrecompiledPreamble.cpp =================================================================== --- lib/Frontend/PrecompiledPreamble.cpp +++ lib/Frontend/PrecompiledPreamble.cpp @@ -416,6 +416,9 @@ Bounds.Size <= MainFileBuffer->getBufferSize() && "Buffer is too large. Bounds were calculated from a different buffer?"); + if (Bounds.Size == 0) + return PreambleBytes.size() == Bounds.Size; + auto PreambleInvocation = std::make_shared<CompilerInvocation>(Invocation); PreprocessorOptions &PreprocessorOpts = PreambleInvocation->getPreprocessorOpts();
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits