Do not leak the new CData node if adding fails

For https://bugzilla.gnome.org/show_bug.cgi?id=780918
diff --git a/SAX2.c b/SAX2.c
index 5cbb700..0f0ad2a 100644
--- a/SAX2.c
+++ b/SAX2.c
@@ -2805,7 +2805,8 @@
 	xmlTextConcat(lastChild, value, len);
     } else {
 	ret = xmlNewCDataBlock(ctxt->myDoc, value, len);
-	xmlAddChild(ctxt->node, ret);
+	if (xmlAddChild(ctxt->node, ret) == NULL)
+		xmlFreeNode(ret);
     }
 }