[PATCH] D25983: Fix use-after-free in ASTContext.
Sam McCall via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 26 05:46:20 PDT 2016
sammccall created this revision.
sammccall added a reviewer: bkramer.
sammccall added subscribers: cfe-commits, rsmith.
Extend lifetime of ExceptionTypeStorage, as it is referenced by
CanonicalEPI and used outside the block (ExceptionSpec.Exceptions is an ArrayRef)
https://reviews.llvm.org/D25983
Files:
lib/AST/ASTContext.cpp
Index: lib/AST/ASTContext.cpp
===================================================================
--- lib/AST/ASTContext.cpp
+++ lib/AST/ASTContext.cpp
@@ -3230,13 +3230,13 @@
for (unsigned i = 0; i != NumArgs; ++i)
CanonicalArgs.push_back(getCanonicalParamType(ArgArray[i]));
+ llvm::SmallVector<QualType, 8> ExceptionTypeStorage;
FunctionProtoType::ExtProtoInfo CanonicalEPI = EPI;
CanonicalEPI.HasTrailingReturn = false;
if (IsCanonicalExceptionSpec) {
// Exception spec is already OK.
} else if (NoexceptInType) {
- llvm::SmallVector<QualType, 8> ExceptionTypeStorage;
switch (EPI.ExceptionSpec.Type) {
case EST_Unparsed: case EST_Unevaluated: case EST_Uninstantiated:
// We don't know yet. It shouldn't matter what we pick here; no-one
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25983.75860.patch
Type: text/x-patch
Size: 815 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161026/60ea74a8/attachment-0001.bin>
More information about the cfe-commits
mailing list