]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
Input expects device name without /dev
authorEric Curtin <ericcurtin17@gmail.com>
Wed, 10 Feb 2021 00:01:59 +0000 (00:01 +0000)
committerKeith Busch <kbusch@kernel.org>
Wed, 10 Feb 2021 00:07:09 +0000 (17:07 -0700)
But don't segfault if user gets this incorrect, instead provide helpful
info.

fabrics.c
nvme-topology.c

index 17711cfa4129e352052bab3e25738bb3b69597b4..1880a5d8dae6adf1b10c2c59fffd489072b399ce 100644 (file)
--- 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);
index c0e2d5100b99712dcbc5dbc0cab93325971854a7..436926b1e83f243b1e2e6b1b499c0692c4af4215 100644 (file)
@@ -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) {