diff --git a/CHANGES b/CHANGES index 86b1b44..83e9048 100644 --- a/CHANGES +++ b/CHANGES @@ -5,6 +5,7 @@ CHANGES IN Mini-XML 2.10 - The version number in mxml.h was wrong (Bug #532) - The mxml.spec file was out of date (Bug #521) + - Mini-XML no longer allows malformed element names (Bug #509) - mxmlLoad* and mxmlSAXLoad* did not properly create text nodes when MXML_TEXT_CALLBACK was specified (Bug #531) - mxmlDelete used a recursive algorithm which could require large diff --git a/mxml-file.c b/mxml-file.c index e083ddd..5ad842d 100644 --- a/mxml-file.c +++ b/mxml-file.c @@ -1577,6 +1577,8 @@ mxml_load_data( if (mxml_add_char(ch, &bufptr, &buffer, &bufsize)) goto error; } + else if (ch < '0' && ch != '!' && ch != '-' && ch != '.' && ch != '/') + goto error; else if (mxml_add_char(ch, &bufptr, &buffer, &bufsize)) goto error; else if (((bufptr - buffer) == 1 && buffer[0] == '?') ||