diff -r e7635922c074 -r 0abbef78e78b messagingfw/msgsrvnstore/server/src/MSVDELET.CPP --- a/messagingfw/msgsrvnstore/server/src/MSVDELET.CPP Tue Aug 03 21:08:41 2010 +0530 +++ b/messagingfw/msgsrvnstore/server/src/MSVDELET.CPP Wed Aug 18 01:39:51 2010 +0530 @@ -310,6 +310,11 @@ CDir* dir=NULL; TBool partiallyDeleted=EFalse; TInt error = iServer.GetFileDirectoryListing(id, filename, dir); + if(dir) + { + CleanupStack::PushL(dir); + } + if (error==KErrNone) { User::LeaveIfError(iServer.FileSession().SetSessionPath(filename)); @@ -386,7 +391,10 @@ // deletion was successful iDeletedEntries->AppendL(id); // will not leave, space has been reserved iMovedEntries->AppendL(id); // will not leave, space has been reserved - delete dir; + if(dir) + { + CleanupStack::PopAndDestroy(dir); + } return; failed: @@ -424,7 +432,11 @@ // we have failed, move onto next state iState = iPCSynced ? EIndexIndividually : EIndex; iError=error; - delete dir; + if(dir) + { + CleanupStack::PopAndDestroy(dir); + } + }