diff -r 415c00f1675d -r 8ee66fcd0a7c terminalsecurity/SCP/SCPClient/src/SCPParamObject.cpp --- a/terminalsecurity/SCP/SCPClient/src/SCPParamObject.cpp Fri Sep 17 08:34:58 2010 +0300 +++ b/terminalsecurity/SCP/SCPClient/src/SCPParamObject.cpp Mon Oct 04 01:40:31 2010 +0300 @@ -214,7 +214,7 @@ iParamValues.Remove( i ); delete tmpValue; - iParamValues.Insert( newValue, i ); + iParamValues.InsertL( newValue, i ); isNewParam = EFalse; } } @@ -222,8 +222,24 @@ if ( isNewParam ) { // Create a new value - iParamIDs.Append( aParamID ); - iParamValues.Append( newValue ); + TInt err = KErrNone; + TRAP(err, iParamIDs.AppendL( aParamID )); + if(err != KErrNone) + { + delete newValue; + ret = err; + } + else + { + TRAP(err, iParamValues.AppendL( newValue )); + if(err != KErrNone) + { + delete newValue; + //Rollback append. + iParamIDs.Remove(iParamIDs.Count()-1); + ret = err; + } + } } return ret;