[llvm] r292700 - LowerTypeTests: Fix use-after-free. Found by asan/msan.
Peter Collingbourne via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 20 17:57:44 PST 2017
Author: pcc
Date: Fri Jan 20 19:57:44 2017
New Revision: 292700
URL: http://llvm.org/viewvc/llvm-project?rev=292700&view=rev
Log:
LowerTypeTests: Fix use-after-free. Found by asan/msan.
Modified:
llvm/trunk/lib/Transforms/IPO/LowerTypeTests.cpp
Modified: llvm/trunk/lib/Transforms/IPO/LowerTypeTests.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/LowerTypeTests.cpp?rev=292700&r1=292699&r2=292700&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/LowerTypeTests.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/LowerTypeTests.cpp Fri Jan 20 19:57:44 2017
@@ -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;
}
More information about the llvm-commits
mailing list