If it is not possible to parse document, return NULL
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Sat, 9 Aug 2008 20:25:05 +0000 (17:25 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Sat, 9 Aug 2008 20:25:05 +0000 (17:25 -0300)
atom/entry.c

index d9d1f2a..c78a916 100644 (file)
@@ -55,6 +55,11 @@ atom_entry_new_data_len (char *data, size_t len)
   xmlNodePtr child;
   entry = g_slice_new0 (AtomEntry);
   entry->doc = xmlReadMemory (data, len, NULL, NULL, XML_PARSE_RECOVER);
   xmlNodePtr child;
   entry = g_slice_new0 (AtomEntry);
   entry->doc = xmlReadMemory (data, len, NULL, NULL, XML_PARSE_RECOVER);
+  if (entry->doc == NULL)
+    {
+      g_slice_free (AtomEntry, entry);
+      return NULL;
+    }
   root = xmlDocGetRootElement (entry->doc);
   if (xmlStrcmp (root->name, "entry"))
     {
   root = xmlDocGetRootElement (entry->doc);
   if (xmlStrcmp (root->name, "entry"))
     {