Author: chandlerc Date: Mon Aug 3 22:52:58 2015 New Revision: 243947 URL: http://llvm.org/viewvc/llvm-project?rev=243947&view=rev Log: [UB] When attaching empty strings to the AST, use an empty StringRef rather than forcing the bump pointer allocator to produce a viable pointer. This also fixes UB when we would try to memcpy from the null incoming StringRef.
Modified: cfe/trunk/lib/AST/Stmt.cpp Modified: cfe/trunk/lib/AST/Stmt.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Stmt.cpp?rev=243947&r1=243946&r2=243947&view=diff ============================================================================== --- cfe/trunk/lib/AST/Stmt.cpp (original) +++ cfe/trunk/lib/AST/Stmt.cpp Mon Aug 3 22:52:58 2015 @@ -724,6 +724,8 @@ MSAsmStmt::MSAsmStmt(const ASTContext &C } static StringRef copyIntoContext(const ASTContext &C, StringRef str) { + if (str.empty()) + return StringRef(); size_t size = str.size(); char *buffer = new (C) char[size]; memcpy(buffer, str.data(), size); _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits