in adapters/tlsio_openssl.c [271:312]
static void tlsio_openssl_DestroyOption(const char* name, const void* value)
{
/*since all options for this layer are actually string copies., disposing of one is just calling free*/
if (
(name == NULL) || (value == NULL)
)
{
LogError("invalid parameter detected: const char* name=%p, const void* value=%p", name, value);
}
else
{
if (
(strcmp(name, OPTION_TRUSTED_CERT) == 0) ||
(strcmp(name, OPTION_OPENSSL_CIPHER_SUITE) == 0) ||
(strcmp(name, SU_OPTION_X509_CERT) == 0) ||
(strcmp(name, SU_OPTION_X509_PRIVATE_KEY) == 0) ||
(strcmp(name, OPTION_X509_ECC_CERT) == 0) ||
(strcmp(name, OPTION_X509_ECC_KEY) == 0) ||
(strcmp(name, OPTION_TLS_VERSION) == 0) ||
(strcmp(name, OPTION_OPENSSL_ENGINE) == 0) ||
(strcmp(name, OPTION_OPENSSL_PRIVATE_KEY_TYPE) == 0)
)
{
free((void*)value);
}
else if (
(strcmp(name, "tls_validation_callback") == 0) ||
(strcmp(name, "tls_validation_callback_data") == 0)
)
{
// nothing to free.
}
else if (strcmp(name, OPTION_UNDERLYING_IO_OPTIONS) == 0)
{
OptionHandler_Destroy((OPTIONHANDLER_HANDLE)value);
}
else
{
LogError("not handled option : %s", name);
}
}
}