From: Sami Kerola Date: Mon, 10 Dec 2018 20:14:12 +0000 (+0000) Subject: lsblk: fix null pointer dereferences X-Git-Tag: v2.34-rc1~185^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e361253e886424cbe37693d92eb368a595fd9e9a;p=thirdparty%2Futil-linux.git lsblk: fix null pointer dereferences Both catched with -Wnull-dereference compiler option: Signed-off-by: Sami Kerola --- diff --git a/misc-utils/lsblk-devtree.c b/misc-utils/lsblk-devtree.c index 82db4f8cf3..a2aa26aedf 100644 --- a/misc-utils/lsblk-devtree.c +++ b/misc-utils/lsblk-devtree.c @@ -203,7 +203,8 @@ int lsblk_device_is_last_parent(struct lsblk_device *dev, struct lsblk_device *p struct lsblk_devdep *dp = list_last_entry( &dev->parents, struct lsblk_devdep, ls_parents); - + if (!dp) + return 0; return dp->parent == parent; } diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c index 7ee6dff90e..ffa1f82bfb 100644 --- a/misc-utils/lsblk.c +++ b/misc-utils/lsblk.c @@ -747,7 +747,7 @@ static char *device_get_data( case COL_OWNER: { struct stat *st = device_get_stat(dev); - struct passwd *pw = st ? NULL : getpwuid(st->st_uid); + struct passwd *pw = st ? getpwuid(st->st_uid) : NULL; if (pw) str = xstrdup(pw->pw_name); break; @@ -755,7 +755,7 @@ static char *device_get_data( case COL_GROUP: { struct stat *st = device_get_stat(dev); - struct group *gr = st ? NULL : getgrgid(st->st_gid); + struct group *gr = st ? getgrgid(st->st_gid) : NULL; if (gr) str = xstrdup(gr->gr_name); break;