]> granicus.if.org Git - libexpat/commitdiff
Validate parser parameter to XML_SetHashSalt
authorRhodri James <rhodri@kynesim.co.uk>
Tue, 25 Apr 2017 16:57:34 +0000 (17:57 +0100)
committerSebastian Pipping <sebastian@pipping.org>
Wed, 24 May 2017 18:49:40 +0000 (20:49 +0200)
expat/lib/expat.h
expat/lib/xmlparse.c

index da7f706eb9e6fc4454b543336c43b21250f525c2..2a06f35e3b7c345697476446ddd3726331392551 100644 (file)
@@ -915,6 +915,7 @@ XML_SetParamEntityParsing(XML_Parser parser,
    Helps in preventing DoS attacks based on predicting hash
    function behavior. This must be called before parsing is started.
    Returns 1 if successful, 0 when called after parsing has started.
+   Note: If parser == NULL, the function will do nothing and return 0.
 */
 XMLPARSEAPI(int)
 XML_SetHashSalt(XML_Parser parser,
index 135791e644aca36811ed7f1a84002172516717ca..dfdb509bc9ee4bc7950becfaffa6ca4bc3d3b2ad 100644 (file)
@@ -1635,6 +1635,8 @@ int XMLCALL
 XML_SetHashSalt(XML_Parser parser,
                 unsigned long hash_salt)
 {
+  if (parser == NULL)
+    return 0;
   /* block after XML_Parse()/XML_ParseBuffer() has been called */
   if (ps_parsing == XML_PARSING || ps_parsing == XML_SUSPENDED)
     return 0;