summaryrefslogtreecommitdiffstats
path: root/misc-utils/lsblk.c
diff options
context:
space:
mode:
authorKarel Zak2018-10-15 14:14:33 +0200
committerKarel Zak2018-12-07 12:32:57 +0100
commit57502dd34c532b679b3e1fe36f5a2a5fc47faf3a (patch)
tree91c61aed1faffff6504b2b3d0123604842da1cc1 /misc-utils/lsblk.c
parentlsblk: split sysfs reading and scols table filling (diff)
downloadkernel-qcow2-util-linux-57502dd34c532b679b3e1fe36f5a2a5fc47faf3a.tar.gz
kernel-qcow2-util-linux-57502dd34c532b679b3e1fe36f5a2a5fc47faf3a.tar.xz
kernel-qcow2-util-linux-57502dd34c532b679b3e1fe36f5a2a5fc47faf3a.zip
lsblk: fix devtree deallocation
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'misc-utils/lsblk.c')
-rw-r--r--misc-utils/lsblk.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c
index 748e3cc34..edc9a20e0 100644
--- a/misc-utils/lsblk.c
+++ b/misc-utils/lsblk.c
@@ -1301,7 +1301,7 @@ static int iterate_block_devices(struct lsblk_devtree *tr)
continue;
}
lsblk_devtree_add_device(tr, dev);
- lsblk_unref_device(dev);
+ lsblk_unref_device(dev); /* keep it referenced by devtree only */
} else
DBG(DEV, ul_debug(" %s: already processed", d->d_name));
@@ -1525,7 +1525,7 @@ static void check_sysdevblock(void)
int main(int argc, char *argv[])
{
struct lsblk _ls = { .sort_id = -1, .flags = LSBLK_TREE };
- struct lsblk_devtree *tr;
+ struct lsblk_devtree *tr = NULL;
int c, status = EXIT_FAILURE;
char *outarg = NULL;
size_t i;
@@ -1850,6 +1850,7 @@ leave:
lsblk_mnt_deinit();
lsblk_properties_deinit();
+ lsblk_unref_devtree(tr);
return status;
}