From e3bcf98ab8678ecab7ac07cadb9f897884a6c47d Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 12 Jun 2015 00:21:21 +0300 Subject: Fix crash in function analysis. --- src/analysis/function.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/analysis/function.cpp b/src/analysis/function.cpp index bb6cde6..114bb43 100644 --- a/src/analysis/function.cpp +++ b/src/analysis/function.cpp @@ -109,11 +109,13 @@ void analyseFunction(FunctionDeclNode *node, const WalkItem &wi, WalkItem &wo) if (command == Command::FindArgs) Log::log("%s: ", node->label.c_str()); - const int sz = node->args.size(); + int sz = node->args.size(); + if (types.size() < sz) + sz = types.size(); for (int f = 0; f < sz; f ++) { const TypeNode *const type = types[f]; - if (type->nodeType != POINTER_TYPE) + if (!type || type->nodeType != POINTER_TYPE) continue; const ParmDeclNode *const name = node->args[f]; if (nonNull.find(f + 1) == nonNull.end()) -- cgit v1.2.3-70-g09d2