diff --git a/contrib/openddlparser/code/OpenDDLParser.cpp b/contrib/openddlparser/code/OpenDDLParser.cpp index abe293039..8529646a6 100644 --- a/contrib/openddlparser/code/OpenDDLParser.cpp +++ b/contrib/openddlparser/code/OpenDDLParser.cpp @@ -630,9 +630,9 @@ char *OpenDDLParser::parseReference(char *in, char *end, std::vector &na if (nextName) { names.push_back(nextName); } - while (Grammar::CommaSeparator[0] == *in) { + while (in != end && Grammar::CommaSeparator[0] == *in) { in = getNextSeparator(in, end); - if (Grammar::CommaSeparator[0] == *in) { + if (in != end && Grammar::CommaSeparator[0] == *in) { in = parseName(in, end, &nextName); if (nextName) { names.push_back(nextName);