From 69f67dc34083c60d3fc8e3601472f2e6be5cdd0f Mon Sep 17 00:00:00 2001
From: Jaime Perez Crespo <jaime.perez@uninett.no>
Date: Tue, 16 Feb 2016 09:19:44 +0100
Subject: [PATCH] Desist on the optimization introduced in d32eb4a, it doesn't
 work.

---
 lib/SimpleSAML/Utils/Config/Metadata.php | 28 ++++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git a/lib/SimpleSAML/Utils/Config/Metadata.php b/lib/SimpleSAML/Utils/Config/Metadata.php
index 3ac022ba3..3e50fab4f 100644
--- a/lib/SimpleSAML/Utils/Config/Metadata.php
+++ b/lib/SimpleSAML/Utils/Config/Metadata.php
@@ -257,10 +257,30 @@ class Metadata
      */
     public static function isHiddenFromDiscovery(array $metadata)
     {
-        try {
-            return @in_array(self::$HIDE_FROM_DISCOVERY, $metadata['EntityAttributes'][self::$ENTITY_CATEGORY]);
-        } catch (\Exception $e) {
+        if (!is_array($metadata)) {
+            return false;
         }
-        return false;
+
+        if (!array_key_exists('EntityAttributes', $metadata)) {
+            return false;
+        }
+
+        if (!is_array($metadata['EntityAttributes'])) {
+            return false;
+        }
+
+        if (!array_key_exists(self::$ENTITY_CATEGORY, $metadata['EntityAttributes'])) {
+            return false;
+        }
+
+        if (!is_array($metadata['EntityAttributes'][self::$ENTITY_CATEGORY])) {
+            return false;
+        }
+
+        if (!in_array(self::$HIDE_FROM_DISCOVERY, $metadata['EntityAttributes'][self::$ENTITY_CATEGORY])) {
+            return false;
+        }
+
+        return true;
     }
 }
-- 
GitLab