@@ -60,6 +60,7 @@ int mca_sharedfp_individual_file_open (struct ompi_communicator_t *comm,
6060 if ( NULL == sh ){
6161 opal_output (0 , "mca_sharedfp_individual_file_open: Error, unable to malloc "
6262 "f_sharedfp_ptr struct\n" );
63+ free (shfileHandle );
6364 return OMPI_ERR_OUT_OF_RESOURCE ;
6465 }
6566
@@ -94,6 +95,8 @@ int mca_sharedfp_individual_file_open (struct ompi_communicator_t *comm,
9495 MPI_INFO_NULL , datafilehandle , false);
9596 if ( OMPI_SUCCESS != err ) {
9697 opal_output (0 , "mca_sharedfp_individual_file_open: Error during datafile file open\n" );
98+ free (shfileHandle );
99+ free (sh );
97100 return err ;
98101 }
99102
@@ -107,14 +110,31 @@ int mca_sharedfp_individual_file_open (struct ompi_communicator_t *comm,
107110
108111 /* metadata filename created by appending .metadata.$rank to the original filename*/
109112 metadatafilename = (char * ) malloc ( len );
113+ if ( NULL == metadatafilename ) {
114+ free (shfileHandle );
115+ free (sh );
116+ opal_output (0 , "mca_sharedfp_individual_file_open: Error during memory allocation\n" );
117+ return OMPI_ERR_OUT_OF_RESOURCE ;
118+ }
110119 snprintf ( metadatafilename , len , "%s%s%d" , filename , ".metadata." ,rank );
111120
112121 metadatafilehandle = (mca_io_ompio_file_t * )malloc (sizeof (mca_io_ompio_file_t ));
122+ if ( NULL == metadatafilehandle ) {
123+ free (shfileHandle );
124+ free (sh );
125+ free (metadatafilename );
126+ opal_output (0 , "mca_sharedfp_individual_file_open: Error during memory allocation\n" );
127+ return OMPI_ERR_OUT_OF_RESOURCE ;
128+ }
113129 err = ompio_io_ompio_file_open ( MPI_COMM_SELF ,metadatafilename ,
114130 MPI_MODE_RDWR | MPI_MODE_CREATE | MPI_MODE_DELETE_ON_CLOSE ,
115131 MPI_INFO_NULL , metadatafilehandle , false);
116132 if ( OMPI_SUCCESS != err ) {
117133 opal_output (0 , "mca_sharedfp_individual_file_open: Error during metadatafile file open\n" );
134+ free (shfileHandle );
135+ free (sh );
136+ free (metadatafilename );
137+ free (metadatafilehandle );
118138 return err ;
119139 }
120140
0 commit comments