Skip to content

Commit ab4cd38

Browse files
authored
Merge pull request #12154 from devreal/fix-osc-rdma-accumulate-compiler-warnings
osc/rdma: fix compiler warnings in osc_rdma_accumulate.c
2 parents 1ab256b + 1360be4 commit ab4cd38

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

ompi/mca/osc/rdma/osc_rdma_accumulate.c

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,9 @@ static inline int ompi_osc_rdma_cas_local (const void *source_addr, const void *
133133
ompi_osc_rdma_module_t *module, bool lock_acquired)
134134
{
135135
int ret, result_is_accel, target_is_accel, compare_is_accel;
136-
void *compare_copy;
137-
void *result_copy;
136+
const void *compare_copy;
137+
void *compare_to_free = NULL;
138+
void *result_copy = NULL;
138139
bool compare_copied = false;
139140
bool result_copied = false;
140141

@@ -168,13 +169,13 @@ static inline int ompi_osc_rdma_cas_local (const void *source_addr, const void *
168169
}
169170

170171
if (compare_is_accel) {
171-
compare_copy = malloc(datatype->super.size);
172+
compare_copy = compare_to_free = malloc(datatype->super.size);
172173
ret = opal_accelerator.mem_copy(MCA_ACCELERATOR_NO_DEVICE_ID, MCA_ACCELERATOR_NO_DEVICE_ID,
173-
compare_copy, compare_addr, datatype->super.size, MCA_ACCELERATOR_TRANSFER_DTOH);
174+
compare_to_free, compare_addr, datatype->super.size, MCA_ACCELERATOR_TRANSFER_DTOH);
174175
compare_copied = true;
175176
if (OPAL_SUCCESS != ret) {
176177
goto out;
177-
}
178+
}
178179
} else {
179180
compare_copy = compare_addr;
180181
}
@@ -192,7 +193,7 @@ static inline int ompi_osc_rdma_cas_local (const void *source_addr, const void *
192193

193194
out:
194195
if (compare_copied) {
195-
free(compare_copy);
196+
free(compare_to_free);
196197
}
197198
if (result_copied) {
198199
free(result_copy);
@@ -828,6 +829,7 @@ static inline int cas_rdma (ompi_osc_rdma_sync_t *sync, const void *source_addr,
828829
volatile bool complete = false;
829830
void *result_copy;
830831
const void *compare_copy;
832+
void *compare_to_free = NULL;
831833
bool result_copied = false;
832834
bool compare_copied = false;
833835
int mem_compare;
@@ -860,9 +862,9 @@ static inline int cas_rdma (ompi_osc_rdma_sync_t *sync, const void *source_addr,
860862
}
861863
ret = osc_rdma_is_accel(compare_addr);
862864
if (0 < ret) {
863-
compare_copy = malloc(len);
865+
compare_copy = compare_to_free = malloc(len);
864866
ret = opal_accelerator.mem_copy(MCA_ACCELERATOR_NO_DEVICE_ID, MCA_ACCELERATOR_NO_DEVICE_ID,
865-
compare_copy, compare_addr, len, MCA_ACCELERATOR_TRANSFER_DTOH);
867+
compare_to_free, compare_addr, len, MCA_ACCELERATOR_TRANSFER_DTOH);
866868
compare_copied = true;
867869
} else if (0 == ret) {
868870
compare_copy = compare_addr;
@@ -875,7 +877,7 @@ static inline int cas_rdma (ompi_osc_rdma_sync_t *sync, const void *source_addr,
875877

876878
mem_compare = memcmp(result_copy, compare_copy, len);
877879
if (compare_copied) {
878-
free(compare_copy);
880+
free(compare_to_free);
879881
}
880882
if (result_copied) {
881883
free(result_copy);

0 commit comments

Comments
 (0)