|
|
|
|
@ -32,6 +32,8 @@
|
|
|
|
|
namespace OC\App;
|
|
|
|
|
|
|
|
|
|
use OCP\ICache;
|
|
|
|
|
use function libxml_disable_entity_loader;
|
|
|
|
|
use function simplexml_load_file;
|
|
|
|
|
|
|
|
|
|
class InfoParser {
|
|
|
|
|
/** @var \OCP\ICache|null */
|
|
|
|
|
@ -61,10 +63,14 @@ class InfoParser {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
libxml_use_internal_errors(true);
|
|
|
|
|
$loadEntities = libxml_disable_entity_loader(false);
|
|
|
|
|
$xml = simplexml_load_file($file);
|
|
|
|
|
if ((PHP_VERSION_ID < 80000)) {
|
|
|
|
|
$loadEntities = libxml_disable_entity_loader(false);
|
|
|
|
|
$xml = simplexml_load_file($file);
|
|
|
|
|
libxml_disable_entity_loader($loadEntities);
|
|
|
|
|
} else {
|
|
|
|
|
$xml = simplexml_load_file($file);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
libxml_disable_entity_loader($loadEntities);
|
|
|
|
|
if ($xml === false) {
|
|
|
|
|
libxml_clear_errors();
|
|
|
|
|
return null;
|
|
|
|
|
|