summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2017-01-21 01:57:44 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2017-01-21 01:57:44 +0000
commitb365d921cf1432a76027e8b97f3df1142e3827ca (patch)
tree1ffe60a1a709c4137d9936a16b9ef35c95729477 /llvm/lib/Transforms
parent06f90ef45cf62d02b011c78e8bddd3e2a84ef579 (diff)
downloadbcm5719-llvm-b365d921cf1432a76027e8b97f3df1142e3827ca.tar.gz
bcm5719-llvm-b365d921cf1432a76027e8b97f3df1142e3827ca.zip
LowerTypeTests: Fix use-after-free. Found by asan/msan.
llvm-svn: 292700
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/IPO/LowerTypeTests.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/IPO/LowerTypeTests.cpp b/llvm/lib/Transforms/IPO/LowerTypeTests.cpp
index 9ceb76a8e35..c7b9564c63f 100644
--- a/llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+++ b/llvm/lib/Transforms/IPO/LowerTypeTests.cpp
@@ -1344,8 +1344,11 @@ bool LowerTypeTestsModule::lower() {
return false;
if (Action == SummaryAction::Import) {
- for (const Use &U : TypeTestFunc->uses())
- importTypeTest(cast<CallInst>(U.getUser()));
+ for (auto UI = TypeTestFunc->use_begin(), UE = TypeTestFunc->use_end();
+ UI != UE;) {
+ auto *CI = cast<CallInst>((*UI++).getUser());
+ importTypeTest(CI);
+ }
return true;
}
OpenPOWER on IntegriCloud