diff --git a/src/nccl_ofi_ofiutils.c b/src/nccl_ofi_ofiutils.c index 046fe7566..56a3c4fe5 100644 --- a/src/nccl_ofi_ofiutils.c +++ b/src/nccl_ofi_ofiutils.c @@ -173,6 +173,9 @@ int nccl_ofi_ofiutils_get_providers(const char *prov_include, if (!providers) goto error; + if (!num_prov_infos) + goto error; + *num_prov_infos = 0; /* Pick a provider name to use. If there is a prov_include * provided, use the first provider which matches the list, @@ -201,7 +204,6 @@ int nccl_ofi_ofiutils_get_providers(const char *prov_include, prov = providers; providers = NULL; last_prov = NULL; - *num_prov_infos = 0; while (prov) { struct fi_info *prov_next = prov->next; prov->next = NULL;