nvmf/rdma: check for rdma_get_devices() failure
rdma_get_devices() may return NULL on failure; we need to check for this before dereferencing the returned pointer. Fixes GitHub issue #360. Change-Id: I9628e5865365d256f4b1887bf07ce8737b55d356 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/418868 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
This commit is contained in:
parent
fbb481c2c6
commit
043e5edb1f
@ -1310,6 +1310,15 @@ spdk_nvmf_rdma_create(struct spdk_nvmf_tgt *tgt)
|
||||
sizeof(struct spdk_nvmf_rdma_mgmt_channel));
|
||||
|
||||
contexts = rdma_get_devices(NULL);
|
||||
if (contexts == NULL) {
|
||||
SPDK_ERRLOG("rdma_get_devices() failed: %s (%d)\n", spdk_strerror(errno), errno);
|
||||
rdma_destroy_event_channel(rtransport->event_channel);
|
||||
spdk_mempool_free(rtransport->data_buf_pool);
|
||||
spdk_io_device_unregister(rtransport, NULL);
|
||||
free(rtransport);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
i = 0;
|
||||
rc = 0;
|
||||
while (contexts[i] != NULL) {
|
||||
|
Loading…
Reference in New Issue
Block a user