From 49e0400920f3e21270fe8ad69366968764faf6ad Mon Sep 17 00:00:00 2001 From: Darek Stojaczyk Date: Tue, 5 Mar 2019 07:38:37 +0100 Subject: [PATCH] vhost: check for strdup failure We could silently fail the allocation and probably segfault soon after. Change-Id: I3851b78500fcb3f64a06bdf0c0e5566d6148cbee Signed-off-by: Darek Stojaczyk Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/447026 Reviewed-by: Jim Harris Reviewed-by: Shuhei Matsumoto Reviewed-by: Changpeng Liu Tested-by: SPDK CI Jenkins --- lib/vhost/vhost.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c index b6e168122..49c0aa9cf 100644 --- a/lib/vhost/vhost.c +++ b/lib/vhost/vhost.c @@ -753,6 +753,14 @@ spdk_vhost_dev_register(struct spdk_vhost_dev *vdev, const char *name, const cha vdev->name = strdup(name); vdev->path = strdup(path); + if (vdev->name == NULL || vdev->path == NULL) { + free(vdev->name); + free(vdev->path); + rte_vhost_driver_unregister(path); + rc = -EIO; + goto out; + } + vdev->cpumask = cpumask; vdev->registered = true; vdev->backend = backend;