From e6fdb6a28c5dbaabfd15e9b991eeb1b160870cf2 Mon Sep 17 00:00:00 2001 From: George Karpenkov Date: Tue, 12 Jun 2018 23:53:54 +0000 Subject: [analyzer] Do not crash in the visitor when the function is given more arguments than it has parameters rdar://40335545 Differential Revision: https://reviews.llvm.org/D48107 llvm-svn: 334560 --- clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'clang/lib/StaticAnalyzer') diff --git a/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp b/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp index 3cac6cb3284..fceb3f094ca 100644 --- a/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp +++ b/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp @@ -286,7 +286,7 @@ public: } ArrayRef parameters = getCallParameters(Call); - for (unsigned I = 0, E = Call->getNumArgs(); I != E; ++I) { + for (unsigned I = 0; I < Call->getNumArgs() && I < parameters.size(); ++I) { const ParmVarDecl *PVD = parameters[I]; SVal S = Call->getArgSVal(I); unsigned IndirectionLevel = 1; -- cgit v1.2.3