@@ -544,8 +544,8 @@ const char *ompi_info_memkind_cb (opal_infosubscriber_t *obj, const char *key, c
544
544
int ompi_info_memkind_copy_or_set (opal_infosubscriber_t * parent , opal_infosubscriber_t * child ,
545
545
opal_info_t * info , ompi_info_memkind_assert_type * type )
546
546
{
547
- opal_cstring_t * parent_val ;
548
- opal_cstring_t * assert_val ;
547
+ opal_cstring_t * parent_val = NULL ;
548
+ opal_cstring_t * assert_val = NULL ;
549
549
ompi_info_memkind_assert_type assert_type = OMPI_INFO_MEMKIND_ASSERT_UNDEFINED ;
550
550
char * final_str = NULL ;
551
551
int flag ;
@@ -569,7 +569,6 @@ int ompi_info_memkind_copy_or_set (opal_infosubscriber_t *parent, opal_infosubsc
569
569
if (ret ) {
570
570
final_str = (char * ) assert_val -> string ;
571
571
}
572
- OBJ_RELEASE (assert_val );
573
572
574
573
opal_infosubscribe_subscribe (child , "mpi_assert_memory_alloc_kinds" , final_str ,
575
574
ompi_info_memkind_cb );
@@ -578,12 +577,18 @@ int ompi_info_memkind_copy_or_set (opal_infosubscriber_t *parent, opal_infosubsc
578
577
exit :
579
578
opal_infosubscribe_subscribe (child , "mpi_memory_alloc_kinds" , final_str ,
580
579
ompi_info_memkind_cb );
581
- OBJ_RELEASE (parent_val );
582
580
583
581
if (ompi_info_memkind_check_no_accel_from_string (final_str )) {
584
582
assert_type = OMPI_INFO_MEMKIND_ASSERT_NO_ACCEL ;
585
583
}
586
584
585
+ if (NULL != assert_val ) {
586
+ OBJ_RELEASE (assert_val );
587
+ }
588
+ if (NULL != parent_val ) {
589
+ OBJ_RELEASE (parent_val );
590
+ }
591
+
587
592
* type = assert_type ;
588
593
return OMPI_SUCCESS ;
589
594
}
0 commit comments