Просмотр исходного кода

fix for issue 393 - always reset libxml_disable_entity_loader

by resetting libxml as soon as possible
croensch 11 лет назад
Родитель
Сommit
23999e26d9
1 измененных файлов с 6 добавлено и 11 удалено
  1. 6 11
      library/Zend/Xml/Security.php

+ 6 - 11
library/Zend/Xml/Security.php

@@ -93,12 +93,13 @@ class Zend_Xml_Security
         $result = $dom->loadXml($xml, LIBXML_NONET);
         restore_error_handler();
 
+        // Entity load to previous setting
+        if (!self::isPhpFpm()) {
+            libxml_disable_entity_loader($loadEntities);
+            libxml_use_internal_errors($useInternalXmlErrors);
+        }
+
         if (!$result) {
-            // Entity load to previous setting
-            if (!self::isPhpFpm()) {
-                libxml_disable_entity_loader($loadEntities);
-                libxml_use_internal_errors($useInternalXmlErrors);
-            }
             return false;
         }
 
@@ -114,12 +115,6 @@ class Zend_Xml_Security
             }
         }
 
-        // Entity load to previous setting
-        if (!self::isPhpFpm()) {
-            libxml_disable_entity_loader($loadEntities);
-            libxml_use_internal_errors($useInternalXmlErrors);
-        }
-
         if (isset($simpleXml)) {
             $result = simplexml_import_dom($dom);
             if (!$result instanceof SimpleXMLElement) {