@@ -44,7 +44,7 @@ PROTOTYPE ERROR_CLASS neighbor_allgatherv(BUFFER sendbuf, COUNT sendcount, DATAT
4444 BUFFER_OUT recvbuf , COUNT_ARRAY recvcounts , DISP_ARRAY displs ,
4545 DATATYPE recvtype , COMM comm )
4646{
47- int in_size , out_size , err ;
47+ int in_size , out_size , err = MPI_SUCCESS ;
4848 ompi_count_array_t recvcounts_desc ;
4949 ompi_disp_array_t displs_desc ;
5050
@@ -53,7 +53,10 @@ PROTOTYPE ERROR_CLASS neighbor_allgatherv(BUFFER sendbuf, COUNT sendcount, DATAT
5353 MEMCHECKER (
5454 ptrdiff_t ext ;
5555
56- mca_topo_base_neighbor_count (comm , & in_size , & out_size );
56+ err = mca_topo_base_neighbor_count (comm , & in_size , & out_size );
57+ if (MPI_SUCCESS != err ) {
58+ return OMPI_ERRHANDLER_INVOKE (comm , err , FUNC_NAME );
59+ }
5760 ompi_datatype_type_extent (recvtype , & ext );
5861
5962 memchecker_datatype (recvtype );
@@ -99,7 +102,10 @@ PROTOTYPE ERROR_CLASS neighbor_allgatherv(BUFFER sendbuf, COUNT sendcount, DATAT
99102 get the size of the remote group here for both intra- and
100103 intercommunicators */
101104
102- mca_topo_base_neighbor_count (comm , & in_size , & out_size );
105+ err = mca_topo_base_neighbor_count (comm , & in_size , & out_size );
106+ if (MPI_SUCCESS != err ) {
107+ return OMPI_ERRHANDLER_INVOKE (comm , err , FUNC_NAME );
108+ }
103109 for (int i = 0 ; i < in_size ; ++ i ) {
104110 if (recvcounts [i ] < 0 ) {
105111 return OMPI_ERRHANDLER_INVOKE (comm , MPI_ERR_COUNT , FUNC_NAME );
@@ -118,7 +124,10 @@ PROTOTYPE ERROR_CLASS neighbor_allgatherv(BUFFER sendbuf, COUNT sendcount, DATAT
118124 }
119125 else if ( OMPI_COMM_IS_GRAPH (comm ) ) {
120126 int degree ;
121- mca_topo_base_graph_neighbors_count (comm , ompi_comm_rank (comm ), & degree );
127+ err = mca_topo_base_graph_neighbors_count (comm , ompi_comm_rank (comm ), & degree );
128+ if (MPI_SUCCESS != err ) {
129+ return OMPI_ERRHANDLER_INVOKE (comm , err , FUNC_NAME );
130+ }
122131 if ( 0 > degree ) {
123132 return OMPI_ERRHANDLER_INVOKE (comm , MPI_ERR_ARG , FUNC_NAME );
124133 }
0 commit comments