diff -r e5b3a2155e1a -r d2c4c66342f3 messagingfw/msgsrvnstore/server/src/MSVDELET.CPP --- a/messagingfw/msgsrvnstore/server/src/MSVDELET.CPP Thu Aug 19 10:24:00 2010 +0300 +++ b/messagingfw/msgsrvnstore/server/src/MSVDELET.CPP Tue Aug 31 15:41:11 2010 +0300 @@ -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); + } + }