javaextensions/wma/sms_cbs/src.s60/csmsplatformservices60impl.cpp
branchRCL_3
changeset 24 0fd27995241b
parent 19 04becd199f91
child 78 71ad690e91f5
--- a/javaextensions/wma/sms_cbs/src.s60/csmsplatformservices60impl.cpp	Fri Apr 30 10:40:48 2010 +0300
+++ b/javaextensions/wma/sms_cbs/src.s60/csmsplatformservices60impl.cpp	Tue May 11 16:07:20 2010 +0300
@@ -166,13 +166,16 @@
     TRAPD(error,
     {
         HBufC* smsData = convertToDes(aData,aMsgType,aLength);
+        CleanupStack::PushL(smsData);
         std::auto_ptr<HBufC> smsAddress(stringToDes(aHostAddress));
         // The sms message takes ownership of the buffer
         CSmsBuffer* buffer = CSmsBuffer::NewL();
+        CleanupStack::PushL(buffer);
         delete mSendMessage;
         mSendMessage = 0;
         RFs fileServer;
         mSendMessage = CSmsMessage::NewL(fileServer,CSmsPDU::ESmsSubmit,buffer);
+        CleanupStack::Pop(buffer);
         if (smsAddress->Length()> 0)
         {
             // set the destination address
@@ -212,7 +215,7 @@
         numberOfSegments = (int)mSendMessage->NumMessagePDUsL();
         LOG2(EWMA, EInfo,"SMS :number of segments %d data length %d",
              numberOfSegments, aLength);
-        delete smsData;
+        CleanupStack::PopAndDestroy(smsData);
     });
     return (error == KErrNone)? numberOfSegments : error;
 }
@@ -234,6 +237,7 @@
         TInt nonConvertibleCharacters;
         CCnvCharacterSetConverter* cConverter =
             CCnvCharacterSetConverter::NewL();
+        CleanupStack::PushL(cConverter);
         CCnvCharacterSetConverter::TAvailability cnvAvailable =
             cConverter->PrepareToConvertToOrFromL(
                 KCharacterSetIdentifierSms7Bit, aFs);
@@ -266,8 +270,7 @@
         }
         (isGSM7Convertible)?msgEncoding = TSmsDataCodingScheme::ESmsAlphabet7Bit
                                           :msgEncoding = TSmsDataCodingScheme::ESmsAlphabetUCS2;
-        delete cConverter;
-        cConverter = 0;
+        CleanupStack::PopAndDestroy(cConverter);
     }
     else
     {