@@ -544,8 +544,8 @@ const char *ompi_info_memkind_cb (opal_infosubscriber_t *obj, const char *key, c
544544int ompi_info_memkind_copy_or_set (opal_infosubscriber_t * parent , opal_infosubscriber_t * child ,
545545 opal_info_t * info , ompi_info_memkind_assert_type * type )
546546{
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 ;
549549 ompi_info_memkind_assert_type assert_type = OMPI_INFO_MEMKIND_ASSERT_UNDEFINED ;
550550 char * final_str = NULL ;
551551 int flag ;
@@ -569,7 +569,6 @@ int ompi_info_memkind_copy_or_set (opal_infosubscriber_t *parent, opal_infosubsc
569569 if (ret ) {
570570 final_str = (char * ) assert_val -> string ;
571571 }
572- OBJ_RELEASE (assert_val );
573572
574573 opal_infosubscribe_subscribe (child , "mpi_assert_memory_alloc_kinds" , final_str ,
575574 ompi_info_memkind_cb );
@@ -578,12 +577,18 @@ int ompi_info_memkind_copy_or_set (opal_infosubscriber_t *parent, opal_infosubsc
578577 exit :
579578 opal_infosubscribe_subscribe (child , "mpi_memory_alloc_kinds" , final_str ,
580579 ompi_info_memkind_cb );
581- OBJ_RELEASE (parent_val );
582580
583581 if (ompi_info_memkind_check_no_accel_from_string (final_str )) {
584582 assert_type = OMPI_INFO_MEMKIND_ASSERT_NO_ACCEL ;
585583 }
586584
585+ if (NULL != assert_val ) {
586+ OBJ_RELEASE (assert_val );
587+ }
588+ if (NULL != parent_val ) {
589+ OBJ_RELEASE (parent_val );
590+ }
591+
587592 * type = assert_type ;
588593 return OMPI_SUCCESS ;
589594}
0 commit comments