Check result of call to xmlAddChild to fix memory leak reported in #1764.
diff --git a/coders/svg.c b/coders/svg.c
index 6669000..48fcd3b 100644
--- a/coders/svg.c
+++ b/coders/svg.c
@@ -3107,7 +3107,9 @@
       xmlTextConcat(child,value,length);
       return;
     }
-  (void) xmlAddChild(parser->node,xmlNewCDataBlock(parser->myDoc,value,length));
+  child=xmlNewCDataBlock(parser->myDoc,value,length);
+  if (xmlAddChild(parser->node,child) == (xmlNodePtr) NULL)
+    xmlFreeNode(child);
 }
 
 static void SVGExternalSubset(void *context,const xmlChar *name,