Fixes a double-free in the error path of ncclCommInitAll.
Fixes https://github.com/NVIDIA/nccl/issues/726
This commit is contained in:
parent
99c28f2e75
commit
2401f4a918
@ -1215,6 +1215,7 @@ ncclResult_t ncclCommInitAll(ncclComm_t* comms, int ndev, const int* devlist) {
|
|||||||
gpuFlags[devlist[i]] = 1;
|
gpuFlags[devlist[i]] = 1;
|
||||||
}
|
}
|
||||||
free(gpuFlags);
|
free(gpuFlags);
|
||||||
|
gpuFlags = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
ncclUniqueId uniqueId;
|
ncclUniqueId uniqueId;
|
||||||
@ -1226,11 +1227,9 @@ ncclResult_t ncclCommInitAll(ncclComm_t* comms, int ndev, const int* devlist) {
|
|||||||
}
|
}
|
||||||
NCCLCHECKGOTO(ncclGroupEnd(), ret, fail);
|
NCCLCHECKGOTO(ncclGroupEnd(), ret, fail);
|
||||||
|
|
||||||
exit:
|
|
||||||
return ret;
|
|
||||||
fail:
|
fail:
|
||||||
if (gpuFlags) free(gpuFlags);
|
free(gpuFlags);
|
||||||
goto exit;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ncclResult_t ncclCommSetAsyncError(ncclComm_t comm, ncclResult_t nextState) {
|
ncclResult_t ncclCommSetAsyncError(ncclComm_t comm, ncclResult_t nextState) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user