Skip to content

Commit 8ac1ea9

Browse files
committed
opal/mca: fix ompi_info segfault due to empty enumerator
This patch fixes a segfault that the enumerator variable is not assigned in mca_base_var_enum_create_flag, leaving it as NULL. This causes invalid memory access later when it is iterated over. Signed-off-by: Wenduo Wang <wenduwan@amazon.com>
1 parent 8ddc997 commit 8ac1ea9

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

opal/mca/base/mca_base_var_enum.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,7 @@ int mca_base_var_enum_create_flag(const char *name, const mca_base_var_enum_valu
434434
{
435435
mca_base_var_enum_flag_t *new_enum;
436436
int i;
437+
int __opal_attribute_unused__ all_flags = 0;
437438

438439
*enumerator = NULL;
439440

@@ -460,8 +461,6 @@ int mca_base_var_enum_create_flag(const char *name, const mca_base_var_enum_valu
460461
return OPAL_ERR_OUT_OF_RESOURCE;
461462
}
462463

463-
#if OPAL_ENABLE_DEBUG
464-
int all_flags = 0;
465464
for (i = 0; i < new_enum->super.enum_value_count; ++i) {
466465
new_enum->enum_flags[i].flag = flags[i].flag;
467466
new_enum->enum_flags[i].string = strdup(flags[i].string);
@@ -474,7 +473,6 @@ int mca_base_var_enum_create_flag(const char *name, const mca_base_var_enum_valu
474473
assert(flags[i].flag);
475474
all_flags |= flags[i].flag;
476475
}
477-
#endif
478476

479477
*enumerator = new_enum;
480478

0 commit comments

Comments
 (0)