From aadd49311abb9345d1e2db2b1685d8e5a07bc87e Mon Sep 17 00:00:00 2001 From: Kyungjoon Ko Date: Mon, 25 Aug 2025 22:03:00 +0900 Subject: [PATCH] Fix OOB read in OpenDDLParser::parsePrimitiveDataType (#6315) Co-authored-by: Kim Kulling --- contrib/openddlparser/code/OpenDDLParser.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/contrib/openddlparser/code/OpenDDLParser.cpp b/contrib/openddlparser/code/OpenDDLParser.cpp index 2f09d7bec..1e14f5fd0 100644 --- a/contrib/openddlparser/code/OpenDDLParser.cpp +++ b/contrib/openddlparser/code/OpenDDLParser.cpp @@ -583,6 +583,9 @@ char *OpenDDLParser::parsePrimitiveDataType(char *in, char *end, Value::ValueTyp size_t prim_len(0); for (size_t i = 0; i < (size_t) Value::ValueType::ddl_types_max; i++) { prim_len = strlen(Grammar::PrimitiveTypeToken[i]); + if (static_cast(end - in) < prim_len) { + continue; + } if (0 == strncmp(in, Grammar::PrimitiveTypeToken[i], prim_len)) { type = static_cast(i); break;