From 106e6960649b4b9ddc2b5dd156c19272169899d6 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 23 May 2019 12:36:53 +0200 Subject: lsblk: make sure __process_one_device() has proper arguments [coverity scan] Signed-off-by: Karel Zak --- misc-utils/lsblk.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'misc-utils') 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); } -- cgit v1.2.3-55-g7522