diff options
Diffstat (limited to 'Modules/expat')
-rw-r--r-- | Modules/expat/xmlparse.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Modules/expat/xmlparse.c b/Modules/expat/xmlparse.c index 882470d..e04426d 100644 --- a/Modules/expat/xmlparse.c +++ b/Modules/expat/xmlparse.c @@ -2795,6 +2795,8 @@ storeAtts(XML_Parser parser, const ENCODING *enc, unsigned long uriHash = 0; ((XML_Char *)s)[-1] = 0; /* clear flag */ id = (ATTRIBUTE_ID *)lookup(&dtd->attributeIds, s, 0); + if (!id) + return XML_ERROR_NO_MEMORY; b = id->prefix->binding; if (!b) return XML_ERROR_UNBOUND_PREFIX; @@ -5340,6 +5342,8 @@ getAttributeId(XML_Parser parser, const ENCODING *enc, return NULL; id->prefix = (PREFIX *)lookup(&dtd->prefixes, poolStart(&dtd->pool), sizeof(PREFIX)); + if (!id->prefix) + return NULL; if (id->prefix->name == poolStart(&dtd->pool)) poolFinish(&dtd->pool); else |