--- a/syncmlfw/dm/dmutils/src/nsmldmtreedtd.cpp Tue Sep 28 17:53:08 2010 +0530
+++ b/syncmlfw/dm/dmutils/src/nsmldmtreedtd.cpp Fri Oct 15 11:46:45 2010 +0530
@@ -470,11 +470,13 @@
if (tag == EDDFNode )
{
newNode = new (ELeave) CNSmlDmNode();
- newNode->iParent= aParent;
+ CleanupStack::PushL(newNode);
+ newNode->iParent= aParent;
aNodeListPtr->iNode = newNode;
lastInList=aNodeListPtr;
ParseNodeWBXMLL( aReader, newNode );
+ CleanupStack::Pop(newNode);
newNode = NULL;
}
else
@@ -496,6 +498,7 @@
lastInList=lastInList->iNext;
newNode = new (ELeave) CNSmlDmNode();
+ CleanupStack::PushL(newNode);
newNode->iParent= aParent;
lastInList->iNode = newNode;
@@ -503,6 +506,7 @@
// read next tag
tag = aReader.ReadUint8L();
+ CleanupStack::Pop(newNode);
}
return tag;
}