eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/eap_am_type_mschapv2_symbian.cpp
changeset 49 43351a4f2da3
parent 36 c98682f98478
--- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/eap_am_type_mschapv2_symbian.cpp	Fri Sep 03 09:22:44 2010 +0300
+++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/eap_am_type_mschapv2_symbian.cpp	Thu Sep 16 13:07:04 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 34 %
+* %version: 38 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -172,9 +172,7 @@
 	const bool aIsClient,
 	const eap_am_network_id_c * const receive_network_id)
 {
-	eap_am_type_mschapv2_symbian_c * self;
-
-	self = new(ELeave) eap_am_type_mschapv2_symbian_c(
+	eap_am_type_mschapv2_symbian_c * self = new eap_am_type_mschapv2_symbian_c(
 		aTools,
 		aPartner,
 		aIndexType,
@@ -183,16 +181,28 @@
 		aIsClient,
 		receive_network_id);
 
-	CleanupStack::PushL(self);
+	if (self == 0
+		|| self->get_is_valid() != true)
+	{
+		if (self != 0)
+		{
+			self->shutdown();
+		}
 
-	if (self->get_is_valid() != true)
-	{
+		delete self;
+
 		User::Leave(KErrGeneral);
 	}
 
-	self->ConstructL();
+	TRAPD(error, self->ConstructL());
 
-	CleanupStack::Pop();
+	if (error != KErrNone)
+	{
+		self->shutdown();
+		delete self;
+
+		User::Leave(error);
+	}
 
 	return self;
 }
@@ -265,6 +275,13 @@
 }
 
 //--------------------------------------------------
+TBool eap_am_type_mschapv2_symbian_c::IsMasterKeyAndPasswordMatchingL(
+	      const TDesC16 & /*aPassword8*/)
+{
+	return EFalse;
+}
+
+//--------------------------------------------------
 EAP_FUNC_EXPORT void eap_am_type_mschapv2_symbian_c::DlgComplete( TInt aStatus )
 	{
 	if (aStatus == KErrCancel)