diff options
author | Karel Zak | 2019-05-23 12:36:53 +0200 |
---|---|---|
committer | Karel Zak | 2019-05-23 12:36:53 +0200 |
commit | 106e6960649b4b9ddc2b5dd156c19272169899d6 (patch) | |
tree | b16b5a75f3fb3d13f77ef83ddf559ae3ac6b0555 /misc-utils | |
parent | lsblk: check ul_path_scanf() return value [coverity scan] (diff) | |
download | kernel-qcow2-util-linux-106e6960649b4b9ddc2b5dd156c19272169899d6.tar.gz kernel-qcow2-util-linux-106e6960649b4b9ddc2b5dd156c19272169899d6.tar.xz kernel-qcow2-util-linux-106e6960649b4b9ddc2b5dd156c19272169899d6.zip |
lsblk: make sure __process_one_device() has proper arguments [coverity scan]
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'misc-utils')
-rw-r--r-- | misc-utils/lsblk.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c index 3f8a1160f..e95af7af0 100644 --- a/misc-utils/lsblk.c +++ b/misc-utils/lsblk.c @@ -1389,7 +1389,7 @@ static int __process_one_device(struct lsblk_devtree *tr, char *devname, dev_t d char buf[PATH_MAX + 1], *name = NULL, *diskname = NULL; int real_part = 0, rc = -EINVAL; - if (devno == 0) { + if (devno == 0 && devname) { struct stat st; DBG(DEV, ul_debug("%s: reading alone device", devname)); @@ -1399,8 +1399,12 @@ static int __process_one_device(struct lsblk_devtree *tr, char *devname, dev_t d goto leave; } devno = st.st_rdev; - } else + } else if (devno) { DBG(DEV, ul_debug("%d:%d: reading alone device", major(devno), minor(devno))); + } else { + assert(devno || devname); + return -EINVAL; + } /* TODO: sysfs_devno_to_devname() internally initializes path_cxt, it * would be better to use ul_new_sysfs_path() + sysfs_blkdev_get_name() @@ -1476,6 +1480,7 @@ leave: static int process_one_device(struct lsblk_devtree *tr, char *devname) { + assert(devname); return __process_one_device(tr, devname, 0); } |