summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorJohn Thompson <John.Thompson.JTSoftware@gmail.com>2009-10-23 02:21:17 +0000
committerJohn Thompson <John.Thompson.JTSoftware@gmail.com>2009-10-23 02:21:17 +0000
commitd73d7add37f751a89e99bcc0fb1c0fcb82d98144 (patch)
treeebc4da7c80588713e6d68a26d9d88d357aa6a019 /clang/lib/Basic
parent9bb005944922b3a23a7be1d61890847b8e077ed8 (diff)
downloadbcm5719-llvm-d73d7add37f751a89e99bcc0fb1c0fcb82d98144.tar.gz
bcm5719-llvm-d73d7add37f751a89e99bcc0fb1c0fcb82d98144.zip
Fixed undefined behavior in pushMappings when the stack has to resize.
llvm-svn: 84924
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r--clang/lib/Basic/Diagnostic.cpp2
1 files changed, 2 insertions, 0 deletions
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());
}
OpenPOWER on IntegriCloud