summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorErik Pilkington <erik.pilkington@gmail.com>2017-05-28 23:24:52 +0000
committerErik Pilkington <erik.pilkington@gmail.com>2017-05-28 23:24:52 +0000
commitde83eea5769c218a90751409b310f42c261e61c0 (patch)
treefeb4ef696dfe5791c02af116bd7e91761cb2506f /llvm/lib
parenta34ea7583fb292454ba3808b62a06da07c609fdb (diff)
downloadbcm5719-llvm-de83eea5769c218a90751409b310f42c261e61c0.tar.gz
bcm5719-llvm-de83eea5769c218a90751409b310f42c261e61c0.zip
[ItaniumDemangle] Fix a exponential string copying bug
This is a port of libcxxabi's r304113. llvm-svn: 304114
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Demangle/ItaniumDemangle.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Demangle/ItaniumDemangle.cpp b/llvm/lib/Demangle/ItaniumDemangle.cpp
index 03d11a703ab..34f4017d982 100644
--- a/llvm/lib/Demangle/ItaniumDemangle.cpp
+++ b/llvm/lib/Demangle/ItaniumDemangle.cpp
@@ -2525,6 +2525,9 @@ static std::string base_name(std::string &s) {
++p0;
break;
}
+ if (!isalpha(*p0) && !isdigit(*p0) && *p0 != '_') {
+ return std::string();
+ }
}
return std::string(p0, pe);
}
OpenPOWER on IntegriCloud