summaryrefslogtreecommitdiffstats
path: root/misc-utils
diff options
context:
space:
mode:
authorKarel Zak2019-05-23 12:36:53 +0200
committerKarel Zak2019-05-23 12:36:53 +0200
commit106e6960649b4b9ddc2b5dd156c19272169899d6 (patch)
treeb16b5a75f3fb3d13f77ef83ddf559ae3ac6b0555 /misc-utils
parentlsblk: check ul_path_scanf() return value [coverity scan] (diff)
downloadkernel-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.c9
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);
}