omadmadapters/nsmldminternet/src/NSmlWLanAdapter.cpp
changeset 66 f8de2c99bcde
parent 59 b7be70e619ea
child 67 fdbfe0a95492
--- a/omadmadapters/nsmldminternet/src/NSmlWLanAdapter.cpp	Fri Sep 17 08:27:39 2010 +0300
+++ b/omadmadapters/nsmldminternet/src/NSmlWLanAdapter.cpp	Mon Oct 04 00:06:35 2010 +0300
@@ -1352,7 +1352,16 @@
                     "CNSmlWLanAdapter::AddLeafObject - Certificate buffer does not exist. Create it.");
             // The certificate buffer does not exist. Create a new one
             EapCertificateEntry *entry = new (ELeave) EapCertificateEntry;
-            iEAPBuffer[eapIndex]->iEAPSettings->iCertificates.Append(entry);
+            TRAPD(err, iEAPBuffer[eapIndex]->iEAPSettings->iCertificates.AppendL(entry));
+            if(err != KErrNone)
+                {
+                delete entry;
+                DBG_ARGS(_S16(
+                              "CNSmlWLanAdapter::AddLeafObjectL - ErrorCode <%D>"),
+                              err);
+                iCallBack->SetStatusL(aStatusRef, CSmlDmAdapter::EError);
+                return;
+                }
             iEAPBuffer[eapIndex]->iEAPSettings->iCertificatesPresent = ETrue;
 
             certIndex
@@ -3278,7 +3287,17 @@
         delete eapLuidBuf;
 
         EapCertificateEntry *entry = new (ELeave) EapCertificateEntry;
-        iEAPBuffer[index]->iEAPSettings->iCertificates.Append(entry);
+        TRAPD(err, iEAPBuffer[index]->iEAPSettings->iCertificates.AppendL(entry));
+        if(err != KErrNone)
+            {
+            delete entry;
+            DBG_ARGS(_S16(
+                         "CNSmlWLanAdapter::AddLeafObjectL - ErrorCode <%D>"),
+                         err);
+            iCallBack->SetStatusL(aStatusRef, CSmlDmAdapter::EError);
+            return;
+            }
+                    
         iEAPBuffer[index]->iEAPSettings->iCertificatesPresent = ETrue;
         iEAPBuffer[index]->iStatusRefArray.AppendL(aStatusRef);