Memory leak reading access control configuration

Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
Erik Boasson 2020-05-06 21:41:48 +02:00 committed by eboasson
parent a0d7b71e52
commit fa6dbe6c3d

View file

@ -2063,23 +2063,27 @@ read_document(
char **doc, char **doc,
DDS_Security_SecurityException *ex) DDS_Security_SecurityException *ex)
{ {
bool result = true;
char *data = NULL; char *data = NULL;
switch (DDS_Security_get_conf_item_type(doc_uri, &data)) switch (DDS_Security_get_conf_item_type(doc_uri, &data))
{ {
case DDS_SECURITY_CONFIG_ITEM_PREFIX_DATA: case DDS_SECURITY_CONFIG_ITEM_PREFIX_DATA:
*doc = data; *doc = data;
break; return true;
case DDS_SECURITY_CONFIG_ITEM_PREFIX_FILE:
result = read_document_from_file(data, doc, ex); case DDS_SECURITY_CONFIG_ITEM_PREFIX_FILE: {
ddsrt_free(data); const bool result = read_document_from_file(data, doc, ex);
break; ddsrt_free(data);
default: return result;
DDS_Security_Exception_set(ex, DDS_ACCESS_CONTROL_PLUGIN_CONTEXT, DDS_SECURITY_ERR_URI_TYPE_NOT_SUPPORTED_CODE, 0, DDS_SECURITY_ERR_URI_TYPE_NOT_SUPPORTED_MESSAGE, doc_uri); }
return false;
case DDS_SECURITY_CONFIG_ITEM_PREFIX_PKCS11:
case DDS_SECURITY_CONFIG_ITEM_PREFIX_UNKNOWN:
DDS_Security_Exception_set(ex, DDS_ACCESS_CONTROL_PLUGIN_CONTEXT, DDS_SECURITY_ERR_URI_TYPE_NOT_SUPPORTED_CODE, 0, DDS_SECURITY_ERR_URI_TYPE_NOT_SUPPORTED_MESSAGE, doc_uri);
ddsrt_free(data);
return false;
} }
return result; assert (0);
return false;
} }
static bool static bool