mirror of
git://develop.git.wordpress.org/
synced 2025-06-02 00:34:58 +02:00
External libraries: Include upstream GetID3 fix for PHP 8.
Props jrf, xknown. git-svn-id: https://develop.svn.wordpress.org/trunk@50714 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
f7799b9455
commit
60fa61de5b
@ -720,18 +720,14 @@ class getid3_lib
|
||||
*/
|
||||
public static function XML2array($XMLstring) {
|
||||
if (function_exists('simplexml_load_string') && function_exists('libxml_disable_entity_loader')) {
|
||||
if (PHP_VERSION_ID < 80000) {
|
||||
// http://websec.io/2012/08/27/Preventing-XEE-in-PHP.html
|
||||
// https://core.trac.wordpress.org/changeset/29378
|
||||
// This function has been deprecated in PHP 8.0 because in libxml 2.9.0, external entity loading is
|
||||
// disabled by default, so this function is no longer needed to protect against XXE attacks.
|
||||
$loader = libxml_disable_entity_loader(true);
|
||||
}
|
||||
// http://websec.io/2012/08/27/Preventing-XEE-in-PHP.html
|
||||
// https://core.trac.wordpress.org/changeset/29378
|
||||
// This function has been deprecated in PHP 8.0 because in libxml 2.9.0, external entity loading is
|
||||
// disabled by default, but is still needed when LIBXML_NOENT is used.
|
||||
$loader = @libxml_disable_entity_loader(true);
|
||||
$XMLobject = simplexml_load_string($XMLstring, 'SimpleXMLElement', LIBXML_NOENT);
|
||||
$return = self::SimpleXMLelement2array($XMLobject);
|
||||
if (PHP_VERSION_ID < 80000 && isset($loader)) {
|
||||
libxml_disable_entity_loader($loader);
|
||||
}
|
||||
@libxml_disable_entity_loader($loader);
|
||||
return $return;
|
||||
}
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user