@@ -69,6 +69,7 @@ int pmix_mca_base_open(void)
6969 pmix_output_stream_t lds ;
7070 char hostname [64 ];
7171 int var_id ;
72+ int rc ;
7273
7374 if (pmix_mca_base_opened ++ ) {
7475 return PMIX_SUCCESS ;
@@ -77,17 +78,24 @@ int pmix_mca_base_open(void)
7778 /* define the system and user default paths */
7879#if PMIX_WANT_HOME_CONFIG_FILES
7980 pmix_mca_base_system_default_path = strdup (pmix_pinstall_dirs .pmixlibdir );
80- asprintf (& pmix_mca_base_user_default_path , "%s" PMIX_PATH_SEP ".pmix" PMIX_PATH_SEP "components" , pmix_home_directory ());
81+ rc = asprintf (& pmix_mca_base_user_default_path , "%s" PMIX_PATH_SEP ".pmix" PMIX_PATH_SEP "components" , pmix_home_directory ());
8182#else
82- asprintf (& pmix_mca_base_system_default_path , "%s" , pmix_pinstall_dirs .pmixlibdir );
83+ rc = asprintf (& pmix_mca_base_system_default_path , "%s" , pmix_pinstall_dirs .pmixlibdir );
8384#endif
8485
86+ if (0 > rc ) {
87+ return PMIX_ERR_OUT_OF_RESOURCE ;
88+ }
89+
8590 /* see if the user wants to override the defaults */
8691 if (NULL == pmix_mca_base_user_default_path ) {
8792 value = strdup (pmix_mca_base_system_default_path );
8893 } else {
89- asprintf (& value , "%s%c%s" , pmix_mca_base_system_default_path ,
90- PMIX_ENV_SEP , pmix_mca_base_user_default_path );
94+ rc = asprintf (& value , "%s%c%s" , pmix_mca_base_system_default_path ,
95+ PMIX_ENV_SEP , pmix_mca_base_user_default_path );
96+ if (0 > rc ) {
97+ return PMIX_ERR_OUT_OF_RESOURCE ;
98+ }
9199 }
92100
93101 pmix_mca_base_component_path = value ;
@@ -139,7 +147,10 @@ int pmix_mca_base_open(void)
139147 set_defaults (& lds );
140148 }
141149 gethostname (hostname , 64 );
142- asprintf (& lds .lds_prefix , "[%s:%05d] " , hostname , getpid ());
150+ rc = asprintf (& lds .lds_prefix , "[%s:%05d] " , hostname , getpid ());
151+ if (0 > rc ) {
152+ return PMIX_ERR_OUT_OF_RESOURCE ;
153+ }
143154 pmix_output_reopen (0 , & lds );
144155 pmix_output_verbose (PMIX_MCA_BASE_VERBOSE_COMPONENT , 0 ,
145156 "mca: base: opening components at %s" , pmix_mca_base_component_path );
0 commit comments