summaryrefslogtreecommitdiff
path: root/src/analysis/function.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/function.cpp')
-rw-r--r--src/analysis/function.cpp6
1 files 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())