diff -r f2a9f5a3b8ba -r f8de2c99bcde applicationmanagement/server/src/amstorage.cpp --- a/applicationmanagement/server/src/amstorage.cpp Fri Sep 17 08:27:39 2010 +0300 +++ b/applicationmanagement/server/src/amstorage.cpp Mon Oct 04 00:06:35 2010 +0300 @@ -400,8 +400,17 @@ if (idx == KErrNotFound) { RDEBUG_2( "CDeliveryComponentStorage::NewComponentL - TCertInfoPckg NOT found 0x%X", reinterpret_cast( p ) ); - iCertificates.Append(p); - idx = iCertificates.Count() - 1; + TRAPD(err,iCertificates.AppendL(p)); + if(err != KErrNone) + { + delete p; + p = NULL; + User::Leave( err ); + } + else + { + idx = iCertificates.Count() - 1; + } } else { @@ -423,8 +432,8 @@ newc->SetState(aState); newc->SetStatusNode(EIdle); UpdateL( *newc); - iComponents.Append(newc); - iComponentIds.Append(newc->InternalId() ); + iComponents.AppendL(newc); + iComponentIds.AppendL(newc->InternalId() ); RDEBUG_2( "CDeliveryComponentStorage::NewComponentL -Internal ID is %d, ", newc->InternalId() ); PersistStateL(); CleanupStack::Pop(newc); @@ -501,7 +510,7 @@ TInt err(iRepository->Get(aInternalId, buf) ); User::LeaveIfError(err) ; resp = LoadComponentL(aInternalId, buf) ; - iComponents.Append(resp); + iComponents.AppendL(resp); } if (resp == NULL) {