syncmlfw/dm/dmutils/src/nsmldmtreedtd.cpp
changeset 73 ae69c2e8bc34
parent 22 19fb38abab1d
--- 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;
 	}