nvme_manage: assert ns not being NULL when displaying namespaces
Assert that spdk_nvme_ctrlr_get_ns() does not return NULL. If display_namespace() would proceed with ns == NULL, functions below will segfault since the input is not verified there. Change-Id: I12c4b617aca703f07275fbc6ab593b42c25e2ccd Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/451830 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
5a484d4ab8
commit
8bab99fb6e
@ -223,6 +223,7 @@ display_namespace(struct spdk_nvme_ns *ns)
|
|||||||
static void
|
static void
|
||||||
display_controller(struct dev *dev, int model)
|
display_controller(struct dev *dev, int model)
|
||||||
{
|
{
|
||||||
|
struct spdk_nvme_ns *ns;
|
||||||
const struct spdk_nvme_ctrlr_data *cdata;
|
const struct spdk_nvme_ctrlr_data *cdata;
|
||||||
uint8_t str[128];
|
uint8_t str[128];
|
||||||
uint32_t nsid;
|
uint32_t nsid;
|
||||||
@ -268,7 +269,9 @@ display_controller(struct dev *dev, int model)
|
|||||||
printf("============================\n");
|
printf("============================\n");
|
||||||
for (nsid = spdk_nvme_ctrlr_get_first_active_ns(dev->ctrlr);
|
for (nsid = spdk_nvme_ctrlr_get_first_active_ns(dev->ctrlr);
|
||||||
nsid != 0; nsid = spdk_nvme_ctrlr_get_next_active_ns(dev->ctrlr, nsid)) {
|
nsid != 0; nsid = spdk_nvme_ctrlr_get_next_active_ns(dev->ctrlr, nsid)) {
|
||||||
display_namespace(spdk_nvme_ctrlr_get_ns(dev->ctrlr, nsid));
|
ns = spdk_nvme_ctrlr_get_ns(dev->ctrlr, nsid);
|
||||||
|
assert(ns != NULL);
|
||||||
|
display_namespace(ns);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user