From 05942467b37990f38fc80923f3d9ec63b160ad92 Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Thu, 16 Oct 2014 18:21:50 +0300
Subject: Add missing checks.

---
 src/resources/db/itemdb.cpp | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

(limited to 'src/resources/db/itemdb.cpp')

diff --git a/src/resources/db/itemdb.cpp b/src/resources/db/itemdb.cpp
index f4e4116ac..9d9550e82 100644
--- a/src/resources/db/itemdb.cpp
+++ b/src/resources/db/itemdb.cpp
@@ -431,8 +431,11 @@ void ItemDB::loadXmlFile(const std::string &fileName, int &tagNum)
             }
             else if (xmlNameEqual(itemChild, "particlefx"))
             {
-                display.particles.push_back(reinterpret_cast<const char*>(
-                    itemChild->xmlChildrenNode->content));
+                if (itemChild->xmlChildrenNode)
+                {
+                    display.particles.push_back(reinterpret_cast<const char*>(
+                        itemChild->xmlChildrenNode->content));
+                }
             }
             else if (xmlNameEqual(itemChild, "sound"))
             {
@@ -745,6 +748,8 @@ static void loadSpriteRef(ItemInfo *const itemInfo, const XmlNodePtr node)
 
 static void loadSoundRef(ItemInfo *const itemInfo, const XmlNodePtr node)
 {
+    if (!node->xmlChildrenNode)
+        return;
     const std::string event = XML::getProperty(node, "event", "");
     const std::string filename = reinterpret_cast<const char*>(
         node->xmlChildrenNode->content);
@@ -768,6 +773,8 @@ static void loadFloorSprite(SpriteDisplay *const display,
 {
     for_each_xml_child_node(spriteNode, floorNode)
     {
+        if (!spriteNode->xmlChildrenNode)
+            continue;
         if (xmlNameEqual(spriteNode, "sprite"))
         {
             SpriteReference *const currentSprite = new SpriteReference;
-- 
cgit v1.2.3-70-g09d2