From: Fariborz Jahanian Date: Wed, 28 Jan 2015 22:08:10 +0000 (+0000) Subject: CXX [qoi]. Prevent a crash when initializer expression is X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ce14a42e0d345b984714c16ded0a013e23380880;p=clang CXX [qoi]. Prevent a crash when initializer expression is invalid when trying to create temporary copy of the invalid initializer. rdar://19109967 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@227378 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaInit.cpp b/lib/Sema/SemaInit.cpp index c6d9a544c4..089746725f 100644 --- a/lib/Sema/SemaInit.cpp +++ b/lib/Sema/SemaInit.cpp @@ -5063,6 +5063,8 @@ static ExprResult CopyObject(Sema &S, const InitializedEntity &Entity, ExprResult CurInit, bool IsExtraneousCopy) { + if (CurInit.isInvalid()) + return CurInit; // Determine which class type we're copying to. Expr *CurInitExpr = (Expr *)CurInit.get(); CXXRecordDecl *Class = nullptr;