From 03d68232413f4096365b96d7cc86b532622cdaa7 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Tue, 4 Oct 2016 09:16:14 +0200 Subject: [PATCH] Some more C casting replaced with C++ dynamic casting --- lib/TTLS/src/Credentials.cpp | 4 ++-- lib/TTLS/src/Module.cpp | 8 ++++---- lib/TTLS_UI/src/Module.cpp | 6 +++--- lib/TTLS_UI/src/TTLS_UI.cpp | 10 +++++----- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/TTLS/src/Credentials.cpp b/lib/TTLS/src/Credentials.cpp index 7989993..88dc60c 100644 --- a/lib/TTLS/src/Credentials.cpp +++ b/lib/TTLS/src/Credentials.cpp @@ -191,8 +191,8 @@ eap::credentials::source_t eap::credentials_ttls::combine( // Combine inner credentials. source_t src_inner = m_inner->combine( - cred_cached ? ((const credentials_ttls*)cred_cached)->m_inner.get() : NULL, - *((const config_method_ttls&)cfg).m_inner, + cred_cached ? dynamic_cast(cred_cached)->m_inner.get() : NULL, + *dynamic_cast(cfg).m_inner, pszTargetName); return std::min(src_outer, src_inner); diff --git a/lib/TTLS/src/Module.cpp b/lib/TTLS/src/Module.cpp index 5eb4690..8abff68 100644 --- a/lib/TTLS/src/Module.cpp +++ b/lib/TTLS/src/Module.cpp @@ -98,7 +98,7 @@ void eap::peer_ttls::get_identity( } // Build our identity. ;) - wstring identity(std::move(cfg_method->get_public_identity((const credentials_ttls&)*cred_out.m_cred))); + wstring identity(std::move(cfg_method->get_public_identity(*dynamic_cast(cred_out.m_cred.get())))); log_event(&EAPMETHOD_TRACE_EVT_CRED_OUTER_ID1, event_data((unsigned int)eap_type_ttls), event_data(identity), event_data::blank); size_t size = sizeof(WCHAR)*(identity.length() + 1); *ppwszIdentity = (WCHAR*)alloc_memory(size); @@ -218,7 +218,7 @@ EAP_SESSION_HANDLE eap::peer_ttls::begin_session( } // We have configuration, we have credentials, create method. - s->m_method.reset(new method_ttls(*this, *cfg_method, *(credentials_ttls*)s->m_cred.m_cred.get())); + s->m_method.reset(new method_ttls(*this, *cfg_method, *dynamic_cast(s->m_cred.m_cred.get()))); // Initialize method. s->m_method->begin_session(dwFlags, pAttributeArray, hTokenImpersonateUser, dwMaxSendPacketSize); @@ -378,7 +378,7 @@ const eap::config_method_ttls* eap::peer_ttls::combine_credentials( assert(cfg_method); // Combine credentials. We could use eap::credentials_ttls() to do all the work, but we would not know which credentials is missing then. - credentials_ttls *cred = (credentials_ttls*)cfg_method->make_credentials(); + credentials_ttls *cred = dynamic_cast(cfg_method->make_credentials()); cred_out.m_cred.reset(cred); #ifdef EAP_USE_NATIVE_CREDENTIAL_CACHE bool has_cached = cred_in.m_cred && cred_in.match(*cfg_prov); @@ -402,7 +402,7 @@ const eap::config_method_ttls* eap::peer_ttls::combine_credentials( // Combine inner credentials. eap::credentials::source_t src_inner = cred->m_inner->combine( #ifdef EAP_USE_NATIVE_CREDENTIAL_CACHE - has_cached ? ((credentials_ttls*)cred_in.m_cred.get())->m_inner.get() : NULL, + has_cached ? dynamic_cast(cred_in.m_cred.get())->m_inner.get() : NULL, #else NULL, #endif diff --git a/lib/TTLS_UI/src/Module.cpp b/lib/TTLS_UI/src/Module.cpp index e2db628..98b6abd 100644 --- a/lib/TTLS_UI/src/Module.cpp +++ b/lib/TTLS_UI/src/Module.cpp @@ -199,7 +199,7 @@ void eap::peer_ttls_ui::invoke_identity_ui( credentials_connection cred_method(*this, cfg); cred_method.m_namespace = cfg_prov->m_namespace; cred_method.m_id = cfg_prov->m_id; - credentials_ttls *_cred_method = (credentials_ttls*)cfg_method->make_credentials(); + credentials_ttls *_cred_method = dynamic_cast(cfg_method->make_credentials()); cred_method.m_cred.reset(_cred_method); #ifdef EAP_USE_NATIVE_CREDENTIAL_CACHE bool has_cached = cred_in.m_cred && cred_in.match(*cfg_prov); @@ -224,7 +224,7 @@ void eap::peer_ttls_ui::invoke_identity_ui( // Combine inner credentials. eap::credentials::source_t src_inner = _cred_method->m_inner->combine( #ifdef EAP_USE_NATIVE_CREDENTIAL_CACHE - has_cached ? ((credentials_ttls*)cred_in.m_cred.get())->m_inner.get() : NULL, + has_cached ? dynamic_cast(cred_in.m_cred.get())->m_inner.get() : NULL, #else NULL, #endif @@ -299,7 +299,7 @@ void eap::peer_ttls_ui::invoke_identity_ui( throw win_runtime_error(ERROR_CANCELLED, __FUNCTION__ " Cancelled."); // Build our identity. ;) - wstring identity(std::move(cfg_method->get_public_identity((const credentials_ttls&)*cred_out.m_cred))); + wstring identity(std::move(cfg_method->get_public_identity(*dynamic_cast(cred_out.m_cred.get())))); log_event(&EAPMETHOD_TRACE_EVT_CRED_OUTER_ID1, event_data((unsigned int)eap_type_ttls), event_data(identity), event_data::blank); size_t size = sizeof(WCHAR)*(identity.length() + 1); *ppwszIdentity = (WCHAR*)alloc_memory(size); diff --git a/lib/TTLS_UI/src/TTLS_UI.cpp b/lib/TTLS_UI/src/TTLS_UI.cpp index bb974fd..44ee5ea 100644 --- a/lib/TTLS_UI/src/TTLS_UI.cpp +++ b/lib/TTLS_UI/src/TTLS_UI.cpp @@ -234,14 +234,14 @@ wxTTLSConfigWindow::~wxTTLSConfigWindow() bool wxTTLSConfigWindow::TransferDataToWindow() { - switch (((eap::config_method_ttls&)m_cfg).m_inner->get_method_id()) { + switch (dynamic_cast(m_cfg).m_inner->get_method_id()) { case winstd::eap_type_legacy_pap: - m_cfg_pap = *(eap::config_method_pap*)((eap::config_method_ttls&)m_cfg).m_inner.get(); + m_cfg_pap = *(eap::config_method_pap*)dynamic_cast(m_cfg).m_inner.get(); m_inner_type->SetSelection(0); // 0=PAP break; case winstd::eap_type_legacy_mschapv2: - m_cfg_mschapv2 = *(eap::config_method_mschapv2*)((eap::config_method_ttls&)m_cfg).m_inner.get(); + m_cfg_mschapv2 = *(eap::config_method_mschapv2*)dynamic_cast(m_cfg).m_inner.get(); m_inner_type->SetSelection(1); // 1=MSCHAPv2 break; @@ -263,11 +263,11 @@ bool wxTTLSConfigWindow::TransferDataFromWindow() // This is not a provider-locked configuration. Save the data. switch (m_inner_type->GetSelection()) { case 0: // 0=PAP - ((eap::config_method_ttls&)m_cfg).m_inner.reset(new eap::config_method_pap(m_cfg_pap)); + dynamic_cast(m_cfg).m_inner.reset(new eap::config_method_pap(m_cfg_pap)); break; case 1: // 1=MSCHAPv2 - ((eap::config_method_ttls&)m_cfg).m_inner.reset(new eap::config_method_mschapv2(m_cfg_mschapv2)); + dynamic_cast(m_cfg).m_inner.reset(new eap::config_method_mschapv2(m_cfg_mschapv2)); break; default: