diff options
author | Nick Wellnhofer <wellnhofer@aevum.de> | 2019-08-25 13:58:41 +0200 |
---|---|---|
committer | Nick Wellnhofer <wellnhofer@aevum.de> | 2019-08-25 14:12:34 +0200 |
commit | 09b6f8183d05719830de80334dea83edeeec44e6 (patch) | |
tree | 2f79ccde638d4c59a71960a8d28b21314aa69151 | |
parent | 01d8cf07d9136aa2ecb1e4925a239973cbc89285 (diff) | |
download | libxml2-09b6f8183d05719830de80334dea83edeeec44e6.tar.gz |
Fix potential null deref in xmlRelaxNGParsePatterns
Thanks to Zhongyuan Zhou for the initial patch.
-rw-r--r-- | relaxng.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -5548,12 +5548,16 @@ xmlRelaxNGParsePatterns(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes, while (nodes != NULL) { if (IS_RELAXNG(nodes, "element")) { cur = xmlRelaxNGParseElement(ctxt, nodes); + if (cur == NULL) + return (NULL); if (def == NULL) { def = last = cur; } else { if ((group == 1) && (def->type == XML_RELAXNG_ELEMENT) && (def == last)) { def = xmlRelaxNGNewDefine(ctxt, nodes); + if (def == NULL) + return (NULL); def->type = XML_RELAXNG_GROUP; def->content = last; } |