From 822cf929158a6f78d71432c22b580d48d681d73f Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Tue, 4 Oct 2016 10:20:01 +0200 Subject: [PATCH] Some more C casting replaced with C++ dynamic casting --- lib/TTLS/src/Method.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/TTLS/src/Method.cpp b/lib/TTLS/src/Method.cpp index 8a8b968..c56acb9 100644 --- a/lib/TTLS/src/Method.cpp +++ b/lib/TTLS/src/Method.cpp @@ -64,9 +64,11 @@ void eap::method_ttls::begin_session( method_tls::begin_session(dwFlags, pAttributeArray, hTokenImpersonateUser, dwMaxSendPacketSize); // Initialize inner method. - switch (dynamic_cast(m_cfg).m_inner->get_method_id()) { - case eap_type_legacy_pap : m_inner.reset(new method_pap (m_module, (config_method_pap &)*dynamic_cast(m_cfg).m_inner, (credentials_pass&)*dynamic_cast(m_cred).m_inner.get())); break; - case eap_type_legacy_mschapv2: m_inner.reset(new method_mschapv2(m_module, (config_method_mschapv2&)*dynamic_cast(m_cfg).m_inner, (credentials_pass&)*dynamic_cast(m_cred).m_inner.get())); break; + auto * cfg_inner = dynamic_cast(m_cfg ).m_inner.get(); + auto *cred_inner = dynamic_cast(m_cred).m_inner.get(); + switch (cfg_inner->get_method_id()) { + case eap_type_legacy_pap : m_inner.reset(new method_pap (m_module, dynamic_cast(*cfg_inner), dynamic_cast(*cred_inner))); break; + case eap_type_legacy_mschapv2: m_inner.reset(new method_mschapv2(m_module, dynamic_cast(*cfg_inner), dynamic_cast(*cred_inner))); break; default: throw invalid_argument(__FUNCTION__ " Unsupported inner authentication method."); } m_inner->begin_session(dwFlags, pAttributeArray, hTokenImpersonateUser, MAXDWORD);