Fix OOB read in OpenDDLParser::parseReference (#6317)

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
This commit is contained in:
Kyungjoon Ko
2025-08-10 04:48:27 -07:00
committed by GitHub
parent 6d7ea78792
commit e3f9cf5564

View File

@@ -630,9 +630,9 @@ char *OpenDDLParser::parseReference(char *in, char *end, std::vector<Name *> &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);