aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/DataStructure/Steensgaard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Analysis/DataStructure/Steensgaard.cpp')
-rw-r--r--lib/Analysis/DataStructure/Steensgaard.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Analysis/DataStructure/Steensgaard.cpp b/lib/Analysis/DataStructure/Steensgaard.cpp
index b17846e2ec..0458670e6f 100644
--- a/lib/Analysis/DataStructure/Steensgaard.cpp
+++ b/lib/Analysis/DataStructure/Steensgaard.cpp
@@ -92,7 +92,8 @@ void Steens::ResolveFunctionCall(Function *F, const DSCallSite &Call,
// Loop over all pointer arguments, resolving them to their provided pointers
unsigned PtrArgIdx = 0;
- for (Function::aiterator AI = F->abegin(), AE = F->aend(); AI != AE; ++AI) {
+ for (Function::aiterator AI = F->abegin(), AE = F->aend();
+ AI != AE && PtrArgIdx < Call.getNumPtrArgs(); ++AI) {
hash_map<Value*, DSNodeHandle>::iterator I = ValMap.find(AI);
if (I != ValMap.end()) // If its a pointer argument...
I->second.mergeWith(Call.getPtrArg(PtrArgIdx++));