Set alternative content to NULL after free.
[cascardo/atompub.git] / atom / content.c
index 8dfbdd0..47fd693 100644 (file)
@@ -139,9 +139,15 @@ atom_content_src_set (AtomContent *content, char *src)
   if (content->src)
     g_free (content->src);
   if (content->content)
-    g_free (content->content);
+    {
+      g_free (content->content);
+      content->content = NULL;
+    }
   if (content->xmlcontent)
-    xmlFreeNode (content->xmlcontent);
+    {
+      xmlFreeNode (content->xmlcontent);
+      content->xmlcontent = NULL;
+    }
   content->src = g_strdup (src);
 }
 
@@ -173,9 +179,15 @@ atom_content_content_set (AtomContent *content, char *buffer, size_t len)
   if (content->content)
     g_free (content->content);
   if (content->src)
-    g_free (content->src);
+    {
+      g_free (content->src);
+      content->src = NULL;
+    }
   if (content->xmlcontent)
-    xmlFreeNode (content->xmlcontent);
+    {
+      xmlFreeNode (content->xmlcontent);
+      content->xmlcontent = NULL;
+    }
   content->content = g_malloc (len);
   memcpy (content->content, buffer, len);
 }
@@ -246,8 +258,14 @@ atom_content_content_set_xmlnode (AtomContent *content, xmlNodePtr node)
   if (content->xmlcontent)
     xmlFreeNode (content->xmlcontent);
   if (content->content)
-    g_free (content->content);
+    {
+      g_free (content->content);
+      content->content = NULL;
+    }
   if (content->src)
-    g_free (content->src);
+    {
+      g_free (content->src);
+      content->src = NULL;
+    }
   content->xmlcontent = xmlCopyNodeList (node);
 }