]> granicus.if.org Git - clang/commitdiff
Fix stack-use-after-scope in EvaluateImplicitExceptionSpec
authorVitaly Buka <vitalybuka@google.com>
Mon, 5 Dec 2016 18:30:22 +0000 (18:30 +0000)
committerVitaly Buka <vitalybuka@google.com>
Mon, 5 Dec 2016 18:30:22 +0000 (18:30 +0000)
Summary:
getExceptionSpec returns structure with pointers to temporarily object created
by computeImplicitExceptionSpec.

Reviewers: rsmith

Subscribers: aizatsky, cfe-commits

Differential Revision: https://reviews.llvm.org/D27420

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@288685 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaDeclCXX.cpp

index c14734182fafcec3da50aadf5ccc27f1fb7dfbbb..f5a2c0dd4dba21b322ba6516460023d7cfadb4c2 100644 (file)
@@ -6100,7 +6100,8 @@ void Sema::EvaluateImplicitExceptionSpec(SourceLocation Loc, CXXMethodDecl *MD)
     return;
 
   // Evaluate the exception specification.
-  auto ESI = computeImplicitExceptionSpec(*this, Loc, MD).getExceptionSpec();
+  auto IES = computeImplicitExceptionSpec(*this, Loc, MD);
+  auto ESI = IES.getExceptionSpec();
 
   // Update the type of the special member to use it.
   UpdateExceptionSpec(MD, ESI);