From ef40e5e3b21fe05df3ed5691360ea51ce84a66c2 Mon Sep 17 00:00:00 2001
From: Brian Coca <brian.coca+git@gmail.com>
Date: Thu, 22 Feb 2018 11:53:40 -0500
Subject: [PATCH] protect against plugins using verify incorrectly

assume false on any errors
---
 lib/ansible/inventory/manager.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/ansible/inventory/manager.py b/lib/ansible/inventory/manager.py
index 133809e5b84..845022aa52e 100644
--- a/lib/ansible/inventory/manager.py
+++ b/lib/ansible/inventory/manager.py
@@ -257,8 +257,13 @@ class InventoryManager(object):
                 plugin_name = to_native(getattr(plugin, '_load_name', getattr(plugin, '_original_path', '')))
                 display.debug(u'Attempting to use plugin %s (%s)' % (plugin_name, plugin._original_path))
 
-                # initialize
-                if plugin.verify_file(source):
+                # initialize and figure out if plugin wants to attempt parsing this file
+                try:
+                    plugin_wants = bool(plugin.verify_file(source))
+                except Exception:
+                    plugin_wants = False
+
+                if plugin_wants:
                     try:
                         # in case plugin fails 1/2 way we dont want partial inventory
                         plugin.parse(self._inventory, self._loader, source, cache=cache)