From 406159c1631fc04bd5c578b9d8ea72659c59fad4 Mon Sep 17 00:00:00 2001 From: Robbie Hanson Date: Wed, 2 Nov 2011 12:55:40 -0700 Subject: [PATCH] Adding proper safety checks when printing xml. --- KissXML/DDXMLNode.m | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/KissXML/DDXMLNode.m b/KissXML/DDXMLNode.m index 90fe7c15..a4e86b94 100644 --- a/KissXML/DDXMLNode.m +++ b/KissXML/DDXMLNode.m @@ -1065,11 +1065,18 @@ - (NSString *)XMLStringWithOptions:(NSUInteger)options xmlIndentTreeOutput = 1; } + int dumpCnt; + xmlBufferPtr bufferPtr = xmlBufferCreate(); if (IsXmlNsPtr(genericPtr)) - xmlNodeDump(bufferPtr, NULL, (xmlNodePtr)genericPtr, 0, format); + dumpCnt = xmlNodeDump(bufferPtr, NULL, (xmlNodePtr)genericPtr, 0, format); else - xmlNodeDump(bufferPtr, ((xmlStdPtr)genericPtr)->doc, (xmlNodePtr)genericPtr, 0, format); + dumpCnt = xmlNodeDump(bufferPtr, ((xmlStdPtr)genericPtr)->doc, (xmlNodePtr)genericPtr, 0, format); + + if (dumpCnt < 0) + { + return nil; + } if ([self kind] == DDXMLTextKind) {