Fix OOB read in OpenDDLParser::parsePrimitiveDataType (#6315)

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
This commit is contained in:
Kyungjoon Ko
2025-08-25 22:03:00 +09:00
committed by GitHub
parent 3f107bebf2
commit aadd49311a

View File

@@ -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<size_t>(end - in) < prim_len) {
continue;
}
if (0 == strncmp(in, Grammar::PrimitiveTypeToken[i], prim_len)) {
type = static_cast<Value::ValueType>(i);
break;