From 5c36200d90edb97ab3bd1f11896373d3be17131e Mon Sep 17 00:00:00 2001 From: Lance Hartmann Date: Mon, 12 Mar 2018 18:16:26 -0400 Subject: [PATCH] lib: Return instead of abort() in nbd Return NULL on resource failure (calloc) instead of abort()'ing in static nbd function and check result returning an errno, in that case, further up the call chain. Change-Id: If95f8db745fa77c76c415a1aa54c5338c270628f Signed-off-by: Lance Hartmann Reviewed-on: https://review.gerrithub.io/403588 Tested-by: SPDK Automated Test System Reviewed-by: Daniel Verkamp Reviewed-by: Jim Harris --- lib/nbd/nbd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/nbd/nbd.c b/lib/nbd/nbd.c index 48a3e0173..19225788f 100644 --- a/lib/nbd/nbd.c +++ b/lib/nbd/nbd.c @@ -229,8 +229,7 @@ spdk_get_nbd_io(struct spdk_nbd_disk *nbd) io = calloc(1, sizeof(*io)); if (!io) { - SPDK_ERRLOG("Unable to get nbd_io\n"); - abort(); + return NULL; } io->nbd = nbd; @@ -509,6 +508,9 @@ spdk_nbd_io_recv_internal(struct spdk_nbd_disk *nbd) if (nbd->io_in_recv == NULL) { nbd->io_in_recv = spdk_get_nbd_io(nbd); + if (!nbd->io_in_recv) { + return -ENOMEM; + } } io = nbd->io_in_recv;