From 672f4681ee4581d4cbf7629c4505b2bbe3602688 Mon Sep 17 00:00:00 2001
From: ramonn <noreply@pandorafms.org>
Date: Tue, 10 Apr 2012 14:21:56 +0000
Subject: [PATCH] 2012-04-10  Ramon Novoa  <rnovoa@artica.es>

	* lib/PandoraFMS/DataServer.pm: Check for single tag XMLs. Fixes bug #3514207.



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@5922 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
---
 pandora_server/ChangeLog                    | 4 ++++
 pandora_server/lib/PandoraFMS/DataServer.pm | 8 ++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/pandora_server/ChangeLog b/pandora_server/ChangeLog
index 6121a922d0..886e1fadb1 100644
--- a/pandora_server/ChangeLog
+++ b/pandora_server/ChangeLog
@@ -1,3 +1,7 @@
+2012-04-10  Ramon Novoa  <rnovoa@artica.es>
+
+	* lib/PandoraFMS/DataServer.pm: Check for single tag XMLs. Fixes bug #3514207.
+
 2012-04-04  Ramon Novoa  <rnovoa@artica.es>
 
 	* lib/PandoraFMS/WMIServer.pm: Put a regexp that could crash the server
diff --git a/pandora_server/lib/PandoraFMS/DataServer.pm b/pandora_server/lib/PandoraFMS/DataServer.pm
index 510d04663e..11dce5b950 100644
--- a/pandora_server/lib/PandoraFMS/DataServer.pm
+++ b/pandora_server/lib/PandoraFMS/DataServer.pm
@@ -144,8 +144,12 @@ sub data_consumer ($$) {
 		};
 	
 		# Invalid XML
-		if ($@) {
-			$xml_err = $@;
+		if ($@ || ref($xml_data) ne 'HASH') {
+			if ($@) {
+				$xml_err = $@;
+			} else {
+				$xml_err = "Invalid XML format.";
+			}
 			sleep (2);
 			next;
 		}