diff -r 3d4e9c994f10 -r a86126ab1dd4 wp/wp-includes/IXR/class-IXR-message.php --- a/wp/wp-includes/IXR/class-IXR-message.php Tue Oct 22 16:11:46 2019 +0200 +++ b/wp/wp-includes/IXR/class-IXR-message.php Tue Dec 15 13:49:49 2020 +0100 @@ -110,20 +110,28 @@ $chunk_size = apply_filters( 'xmlrpc_chunk_parsing_size', $chunk_size ); $final = false; + do { if (strlen($this->message) <= $chunk_size) { $final = true; } + $part = substr($this->message, 0, $chunk_size); $this->message = substr($this->message, $chunk_size); + if (!xml_parse($this->_parser, $part, $final)) { + xml_parser_free($this->_parser); + unset($this->_parser); return false; } + if ($final) { break; } } while (true); + xml_parser_free($this->_parser); + unset($this->_parser); // Grab the error messages, if any if ($this->messageType == 'fault') {