From d73d7add37f751a89e99bcc0fb1c0fcb82d98144 Mon Sep 17 00:00:00 2001 From: John Thompson Date: Fri, 23 Oct 2009 02:21:17 +0000 Subject: Fixed undefined behavior in pushMappings when the stack has to resize. llvm-svn: 84924 --- clang/lib/Basic/Diagnostic.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/clang/lib/Basic/Diagnostic.cpp b/clang/lib/Basic/Diagnostic.cpp index d665e49126d..fbc73131165 100644 --- a/clang/lib/Basic/Diagnostic.cpp +++ b/clang/lib/Basic/Diagnostic.cpp @@ -230,6 +230,8 @@ Diagnostic::~Diagnostic() { void Diagnostic::pushMappings() { + // Avoids undefined behavior when the stack has to resize. + DiagMappingsStack.reserve(DiagMappingsStack.size() + 1); DiagMappingsStack.push_back(DiagMappingsStack.back()); } -- cgit v1.2.3