mca/base: make clang static analyzer happy
cmr=v1.8.3:reviewer=jsquyres This commit was SVN r32360.
Этот коммит содержится в:
родитель
97fad1dd95
Коммит
a32d93ec20
@ -213,9 +213,6 @@ int mca_base_component_find(const char *directory, const char *type,
|
||||
ret = OPAL_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
ret = OPAL_SUCCESS;
|
||||
|
||||
component_find_out:
|
||||
|
||||
if (NULL != requested_component_names) {
|
||||
|
@ -250,8 +250,7 @@ void mca_base_component_repository_release(const mca_base_component_t *component
|
||||
void mca_base_component_repository_finalize(void)
|
||||
{
|
||||
#if OPAL_WANT_LIBLTDL
|
||||
opal_list_item_t *item;
|
||||
repository_item_t *ri;
|
||||
repository_item_t *ri, *next;
|
||||
#endif
|
||||
|
||||
if (initialized) {
|
||||
@ -271,10 +270,7 @@ void mca_base_component_repository_finalize(void)
|
||||
technically an error). */
|
||||
|
||||
do {
|
||||
for (item = opal_list_get_first(&repository);
|
||||
opal_list_get_end(&repository) != item; ) {
|
||||
ri = (repository_item_t *) item;
|
||||
item = opal_list_get_next(item);
|
||||
OPAL_LIST_FOREACH_SAFE(ri, next, &repository, repository_item_t) {
|
||||
OBJ_RELEASE(ri);
|
||||
}
|
||||
} while (opal_list_get_size(&repository) > 0);
|
||||
@ -373,7 +369,6 @@ static void ri_constructor(opal_object_t *obj)
|
||||
static void ri_destructor(opal_object_t *obj)
|
||||
{
|
||||
repository_item_t *ri = (repository_item_t *) obj;
|
||||
dependency_item_t *di;
|
||||
opal_list_item_t *item;
|
||||
int group_id;
|
||||
|
||||
@ -394,11 +389,8 @@ static void ri_destructor(opal_object_t *obj)
|
||||
/* Now go release/close (at a minimum: decrement the refcount) any
|
||||
dependencies of this component */
|
||||
|
||||
for (item = opal_list_remove_first(&ri->ri_dependencies);
|
||||
NULL != item;
|
||||
item = opal_list_remove_first(&ri->ri_dependencies)) {
|
||||
di = (dependency_item_t *) item;
|
||||
OBJ_RELEASE(di);
|
||||
while (NULL != (item = opal_list_remove_first(&ri->ri_dependencies))) {
|
||||
OBJ_RELEASE(item);
|
||||
}
|
||||
OBJ_DESTRUCT(&ri->ri_dependencies);
|
||||
opal_list_remove_item(&repository, (opal_list_item_t *) ri);
|
||||
|
@ -177,7 +177,7 @@ int mca_base_framework_close (struct mca_base_framework_t *framework) {
|
||||
group_id = mca_base_var_group_find (framework->framework_project,
|
||||
framework->framework_name, NULL);
|
||||
if (0 <= group_id) {
|
||||
ret = mca_base_var_group_deregister (group_id);
|
||||
(void) mca_base_var_group_deregister (group_id);
|
||||
framework->framework_flags &= ~MCA_BASE_FRAMEWORK_FLAG_REGISTERED;
|
||||
}
|
||||
|
||||
|
@ -398,6 +398,9 @@ static int mca_base_var_cache_files(bool rel_path_search)
|
||||
"Suppress warnings when attempting to set an overridden value (default: false)",
|
||||
MCA_BASE_VAR_TYPE_BOOL, NULL, 0, 0, OPAL_INFO_LVL_2,
|
||||
MCA_BASE_VAR_SCOPE_LOCAL, &mca_base_var_suppress_override_warning);
|
||||
if (0 > ret) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Aggregate MCA parameter files
|
||||
* A prefix search path to look up aggregate MCA parameter file
|
||||
@ -408,6 +411,9 @@ static int mca_base_var_cache_files(bool rel_path_search)
|
||||
"Aggregate MCA parameter file sets",
|
||||
MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0, OPAL_INFO_LVL_3,
|
||||
MCA_BASE_VAR_SCOPE_READONLY, &mca_base_var_file_prefix);
|
||||
if (0 > ret) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = asprintf(&mca_base_param_file_path, "%s" OPAL_PATH_SEP "amca-param-sets%c%s",
|
||||
opal_install_dirs.opaldatadir, OPAL_ENV_SEP, cwd);
|
||||
@ -822,7 +828,7 @@ int mca_base_var_env_name(const char *param_name,
|
||||
*/
|
||||
static int var_find_by_name (const char *full_name, int *vari, bool invalidok)
|
||||
{
|
||||
mca_base_var_t *var;
|
||||
mca_base_var_t *var = NULL;
|
||||
void *tmp;
|
||||
int rc;
|
||||
|
||||
@ -834,7 +840,7 @@ static int var_find_by_name (const char *full_name, int *vari, bool invalidok)
|
||||
|
||||
(void) var_get ((int)(uintptr_t) tmp, &var, false);
|
||||
|
||||
if (invalidok || VAR_IS_VALID(var[0])) {
|
||||
if (invalidok || (var && VAR_IS_VALID(var[0]))) {
|
||||
*vari = (int)(uintptr_t) tmp;
|
||||
return OPAL_SUCCESS;
|
||||
}
|
||||
@ -1803,8 +1809,12 @@ static int var_value_string (mca_base_var_t *var, char **value_string)
|
||||
ret = var->mbv_enumerator->string_from_value(var->mbv_enumerator, value->intval, &tmp);
|
||||
}
|
||||
|
||||
if (OPAL_SUCCESS != ret) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
*value_string = strdup (tmp);
|
||||
if (NULL == value_string) {
|
||||
if (NULL == *value_string) {
|
||||
ret = OPAL_ERR_OUT_OF_RESOURCE;
|
||||
}
|
||||
}
|
||||
@ -1820,24 +1830,23 @@ int mca_base_var_check_exclusive (const char *project,
|
||||
const char *component_b,
|
||||
const char *param_b)
|
||||
{
|
||||
mca_base_var_t *var_a, *var_b;
|
||||
mca_base_var_t *var_a = NULL, *var_b = NULL;
|
||||
int var_ai, var_bi;
|
||||
|
||||
/* XXX -- Remove me once the project name is in the componennt */
|
||||
project = NULL;
|
||||
|
||||
var_ai = mca_base_var_find (project, type_a, component_a, param_a);
|
||||
if (var_ai < 0) {
|
||||
return OPAL_ERR_NOT_FOUND;
|
||||
}
|
||||
|
||||
var_bi = mca_base_var_find (project, type_b, component_b, param_b);
|
||||
if (var_bi < 0) {
|
||||
if (var_bi < 0 || var_ai < 0) {
|
||||
return OPAL_ERR_NOT_FOUND;
|
||||
}
|
||||
|
||||
(void) var_get (var_ai, &var_a, true);
|
||||
(void) var_get (var_bi, &var_b, true);
|
||||
if (NULL == var_a || NULL == var_b) {
|
||||
return OPAL_ERR_NOT_FOUND;
|
||||
}
|
||||
|
||||
if (MCA_BASE_VAR_SOURCE_DEFAULT != var_a->mbv_source &&
|
||||
MCA_BASE_VAR_SOURCE_DEFAULT != var_b->mbv_source) {
|
||||
@ -1916,6 +1925,10 @@ int mca_base_var_dump(int vari, char ***out, mca_base_var_dump_type_t output_typ
|
||||
}
|
||||
|
||||
source_string = source_name(var);
|
||||
if (NULL == source_string) {
|
||||
free (value_string);
|
||||
return OPAL_ERR_OUT_OF_RESOURCE;
|
||||
}
|
||||
|
||||
if (MCA_BASE_VAR_DUMP_PARSABLE == output_type) {
|
||||
if (NULL != var->mbv_enumerator) {
|
||||
@ -1938,11 +1951,9 @@ int mca_base_var_dump(int vari, char ***out, mca_base_var_dump_type_t output_typ
|
||||
|
||||
/* Output the value */
|
||||
asprintf(out[0] + line++, "%svalue:%s", tmp, value_string);
|
||||
free(value_string);
|
||||
|
||||
/* Output the source */
|
||||
asprintf(out[0] + line++, "%ssource:%s", tmp, source_string);
|
||||
free(source_string);
|
||||
|
||||
/* Output whether it's read only or writable */
|
||||
asprintf(out[0] + line++, "%sstatus:%s", tmp, VAR_IS_DEFAULT_ONLY(var[0]) ? "read-only" : "writeable");
|
||||
@ -2005,8 +2016,6 @@ int mca_base_var_dump(int vari, char ***out, mca_base_var_dump_type_t output_typ
|
||||
VAR_IS_DEFAULT_ONLY(var[0]) ? "informational" : "parameter",
|
||||
full_name, value_string, source_string, var->mbv_info_lvl + 1,
|
||||
info_lvl_strings[var->mbv_info_lvl], var_type_names[var->mbv_type]);
|
||||
free (value_string);
|
||||
free (source_string);
|
||||
|
||||
tmp = out[0][0];
|
||||
if (VAR_IS_DEPRECATED(var[0])) {
|
||||
@ -2068,11 +2077,11 @@ int mca_base_var_dump(int vari, char ***out, mca_base_var_dump_type_t output_typ
|
||||
}
|
||||
|
||||
asprintf(out[0], "%s=%s (%s)", var->mbv_full_name, value_string, source_string);
|
||||
|
||||
free (value_string);
|
||||
free (source_string);
|
||||
}
|
||||
|
||||
free (value_string);
|
||||
free (source_string);
|
||||
|
||||
return OPAL_SUCCESS;
|
||||
}
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user