From: Eric Curtin Date: Wed, 10 Feb 2021 00:01:59 +0000 (+0000) Subject: Input expects device name without /dev X-Git-Tag: v1.14~104 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=dcfe0156360deaefa26b1d00053a791eefe397d1;p=users%2Fsagi%2Fnvme-cli.git Input expects device name without /dev But don't segfault if user gets this incorrect, instead provide helpful info. --- diff --git a/fabrics.c b/fabrics.c index 17711cfa..1880a5d8 100644 --- a/fabrics.c +++ b/fabrics.c @@ -305,6 +305,11 @@ static bool ctrl_matches_connectargs(char *name, struct connect_args *args) return found; addr = nvme_get_ctrl_attr(path, "address"); + if (!addr) { + fprintf(stderr, "nvme_get_ctrl_attr failed\n"); + return found; + } + cargs.subsysnqn = nvme_get_ctrl_attr(path, "subsysnqn"); cargs.transport = nvme_get_ctrl_attr(path, "transport"); cargs.traddr = parse_conn_arg(addr, ' ', conarg_traddr); diff --git a/nvme-topology.c b/nvme-topology.c index c0e2d510..436926b1 100644 --- a/nvme-topology.c +++ b/nvme-topology.c @@ -60,8 +60,10 @@ char *nvme_get_ctrl_attr(char *path, const char *attr) goto err_free_path; fd = open(attrpath, O_RDONLY); - if (fd < 0) + if (fd < 0) { + fprintf(stderr, "Failed to open %s: %s\n", attrpath, strerror(errno)); goto err_free_value; + } ret = read(fd, value, 1024); if (ret < 0) {