Skip to content

Commit 1dd8dc4

Browse files
authored
Merge pull request #11150 from drwootton/alltoallv_invalid_line
Fix uninitialized variable in mca_coll_base_alltoallv_intra_basic_inplace: Coverity CID 1498685
2 parents 48bd7ae + a5c51bd commit 1dd8dc4

File tree

2 files changed

+58
-18
lines changed

2 files changed

+58
-18
lines changed

ompi/mca/coll/base/coll_base_alltoall.c

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -108,37 +108,58 @@ mca_coll_base_alltoall_intra_basic_inplace(const void *rbuf, int rcount,
108108
(char *) rbuf + (MPI_Aint) right * rcount * extent);
109109
packed_size = max_size;
110110
err = opal_convertor_pack(&convertor, &iov, &iov_count, &packed_size);
111-
if (1 != err) { goto error_hndl; }
111+
if (1 != err) {
112+
line = __LINE__;
113+
goto error_hndl;
114+
}
112115

113116
/* Receive data from the right */
114117
err = MCA_PML_CALL(irecv ((char *) rbuf + (MPI_Aint) right * rcount * extent, rcount, rdtype,
115118
right, MCA_COLL_BASE_TAG_ALLTOALL, comm, &req));
116-
if (MPI_SUCCESS != err) { goto error_hndl; }
119+
if (MPI_SUCCESS != err) {
120+
line = __LINE__;
121+
goto error_hndl;
122+
}
117123

118124
if( left != right ) {
119125
/* Send data to the left */
120126
err = MCA_PML_CALL(send ((char *) rbuf + (MPI_Aint) left * rcount * extent, rcount, rdtype,
121127
left, MCA_COLL_BASE_TAG_ALLTOALL, MCA_PML_BASE_SEND_STANDARD,
122128
comm));
123-
if (MPI_SUCCESS != err) { goto error_hndl; }
129+
if (MPI_SUCCESS != err) {
130+
line = __LINE__;
131+
goto error_hndl;
132+
}
124133

125134
err = ompi_request_wait (&req, MPI_STATUSES_IGNORE);
126-
if (MPI_SUCCESS != err) { goto error_hndl; }
135+
if (MPI_SUCCESS != err) {
136+
line = __LINE__;
137+
goto error_hndl;
138+
}
127139

128140
/* Receive data from the left */
129141
err = MCA_PML_CALL(irecv ((char *) rbuf + (MPI_Aint) left * rcount * extent, rcount, rdtype,
130142
left, MCA_COLL_BASE_TAG_ALLTOALL, comm, &req));
131-
if (MPI_SUCCESS != err) { goto error_hndl; }
143+
if (MPI_SUCCESS != err) {
144+
line = __LINE__;
145+
goto error_hndl;
146+
}
132147
}
133148

134149
/* Send data to the right */
135150
err = MCA_PML_CALL(send ((char *) tmp_buffer, packed_size, MPI_PACKED,
136151
right, MCA_COLL_BASE_TAG_ALLTOALL, MCA_PML_BASE_SEND_STANDARD,
137152
comm));
138-
if (MPI_SUCCESS != err) { goto error_hndl; }
153+
if (MPI_SUCCESS != err) {
154+
line = __LINE__;
155+
goto error_hndl;
156+
}
139157

140158
err = ompi_request_wait (&req, MPI_STATUSES_IGNORE);
141-
if (MPI_SUCCESS != err) { goto error_hndl; }
159+
if (MPI_SUCCESS != err) {
160+
line = __LINE__;
161+
goto error_hndl;
162+
}
142163
}
143164

144165
error_hndl:
@@ -148,8 +169,7 @@ mca_coll_base_alltoall_intra_basic_inplace(const void *rbuf, int rcount,
148169

149170
if( MPI_SUCCESS != err ) {
150171
OPAL_OUTPUT((ompi_coll_base_framework.framework_output,
151-
"%s:%4d\tError occurred %d, rank %2d", __FILE__, line, err,
152-
rank));
172+
"%s:%4d\tError occurred %d, rank %2d", __FILE__, line, err, rank));
153173
(void)line; // silence compiler warning
154174
}
155175

ompi/mca/coll/base/coll_base_alltoallv.c

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -118,40 +118,61 @@ mca_coll_base_alltoallv_intra_basic_inplace(const void *rbuf, const int *rcounts
118118
(char *) rbuf + rdisps[right] * extent);
119119
packed_size = max_size;
120120
err = opal_convertor_pack(&convertor, &iov, &iov_count, &packed_size);
121-
if (1 != err) { goto error_hndl; }
121+
if (1 != err) {
122+
line = __LINE__;
123+
goto error_hndl;
124+
}
122125

123126
/* Receive data from the right */
124127
err = MCA_PML_CALL(irecv ((char *) rbuf + rdisps[right] * extent, rcounts[right], rdtype,
125128
right, MCA_COLL_BASE_TAG_ALLTOALLV, comm, &req));
126-
if (MPI_SUCCESS != err) { goto error_hndl; }
129+
if (MPI_SUCCESS != err) {
130+
line = __LINE__;
131+
goto error_hndl;
132+
}
127133
}
128134

129135
if( (left != right) && (0 != rcounts[left]) ) {
130136
/* Send data to the left */
131137
err = MCA_PML_CALL(send ((char *) rbuf + rdisps[left] * extent, rcounts[left], rdtype,
132138
left, MCA_COLL_BASE_TAG_ALLTOALLV, MCA_PML_BASE_SEND_STANDARD,
133139
comm));
134-
if (MPI_SUCCESS != err) { goto error_hndl; }
140+
if (MPI_SUCCESS != err) {
141+
line = __LINE__;
142+
goto error_hndl;
143+
}
135144

136145
err = ompi_request_wait (&req, MPI_STATUSES_IGNORE);
137-
if (MPI_SUCCESS != err) { goto error_hndl; }
146+
if (MPI_SUCCESS != err) {
147+
line = __LINE__;
148+
goto error_hndl;
149+
}
138150

139151
/* Receive data from the left */
140152
err = MCA_PML_CALL(irecv ((char *) rbuf + rdisps[left] * extent, rcounts[left], rdtype,
141153
left, MCA_COLL_BASE_TAG_ALLTOALLV, comm, &req));
142-
if (MPI_SUCCESS != err) { goto error_hndl; }
154+
if (MPI_SUCCESS != err) {
155+
line = __LINE__;
156+
goto error_hndl;
157+
}
143158
}
144159

145160
if( 0 != rcounts[right] ) { /* nothing to exchange with the peer on the right */
146161
/* Send data to the right */
147162
err = MCA_PML_CALL(send ((char *) tmp_buffer, packed_size, MPI_PACKED,
148163
right, MCA_COLL_BASE_TAG_ALLTOALLV, MCA_PML_BASE_SEND_STANDARD,
149164
comm));
150-
if (MPI_SUCCESS != err) { goto error_hndl; }
165+
if (MPI_SUCCESS != err) {
166+
line = __LINE__;
167+
goto error_hndl;
168+
}
151169
}
152170

153171
err = ompi_request_wait (&req, MPI_STATUSES_IGNORE);
154-
if (MPI_SUCCESS != err) { goto error_hndl; }
172+
if (MPI_SUCCESS != err) {
173+
line = __LINE__;
174+
goto error_hndl;
175+
}
155176
}
156177

157178
error_hndl:
@@ -161,8 +182,7 @@ mca_coll_base_alltoallv_intra_basic_inplace(const void *rbuf, const int *rcounts
161182

162183
if( MPI_SUCCESS != err ) {
163184
OPAL_OUTPUT((ompi_coll_base_framework.framework_output,
164-
"%s:%4d\tError occurred %d, rank %2d", __FILE__, line, err,
165-
rank));
185+
"%s:%4d\tError occurred %d, rank %2d", __FILE__, line, err, rank));
166186
(void)line; // silence compiler warning
167187
}
168188

0 commit comments

Comments
 (0)