From 37c04b7be83fef25884f6866610e5d2255e6c1de Mon Sep 17 00:00:00 2001 From: Karol Latecki Date: Tue, 2 Jul 2019 16:13:31 +0200 Subject: [PATCH] lib/bdev: do not allow bdev name to be an empty string It looks like currently we only check bdev names for NULL, but not for "empty" string. For example this rpc command: sudo scripts/rpc.py construct_aio_bdev aio_disk "" 512 Will result in construction of AIO bdev with empty name: sudo scripts/rpc.py get_bdevs [...] "name": "", "aliases": [], [...] Change-Id: I41204096c8cf210a4dc40a8225d1c9dad353f533 Signed-off-by: Karol Latecki Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460150 Tested-by: SPDK CI Jenkins Reviewed-by: Darek Stojaczyk Reviewed-by: Changpeng Liu Reviewed-by: Paul Luse Reviewed-by: Vitaliy Mysak Reviewed-by: Maciej Szwed --- lib/bdev/bdev.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/bdev/bdev.c b/lib/bdev/bdev.c index d6d0791bc..1dcc54486 100644 --- a/lib/bdev/bdev.c +++ b/lib/bdev/bdev.c @@ -4003,6 +4003,11 @@ spdk_bdev_init(struct spdk_bdev *bdev) return -EINVAL; } + if (!strlen(bdev->name)) { + SPDK_ERRLOG("Bdev name must not be an empty string\n"); + return -EINVAL; + } + if (spdk_bdev_get_by_name(bdev->name)) { SPDK_ERRLOG("Bdev name:%s already exists\n", bdev->name); return -EEXIST;