summaryrefslogtreecommitdiffstats
path: root/libblkid
diff options
context:
space:
mode:
authorKarel Zak2019-05-15 16:28:31 +0200
committerKarel Zak2019-05-15 16:28:31 +0200
commit5b3b21128c5373c03d7712cb3b26b4f11717dc47 (patch)
tree686af10c0b03712d37dff7c45117da9de00f1b9e /libblkid
parentlibblkid: don't ignore blkid_probe_set_magic() errors [coverity scan] (diff)
downloadkernel-qcow2-util-linux-5b3b21128c5373c03d7712cb3b26b4f11717dc47.tar.gz
kernel-qcow2-util-linux-5b3b21128c5373c03d7712cb3b26b4f11717dc47.tar.xz
kernel-qcow2-util-linux-5b3b21128c5373c03d7712cb3b26b4f11717dc47.zip
libblkid: make partitions reference counting more robust [coverity scan]
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libblkid')
-rw-r--r--libblkid/src/partitions/partitions.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libblkid/src/partitions/partitions.c b/libblkid/src/partitions/partitions.c
index 299454765..f12638e76 100644
--- a/libblkid/src/partitions/partitions.c
+++ b/libblkid/src/partitions/partitions.c
@@ -313,13 +313,16 @@ static void blkid_probe_set_partlist(blkid_probe pr, blkid_partlist ls)
static void ref_parttable(blkid_parttable tab)
{
- tab->nparts++;
+ if (tab)
+ tab->nparts++;
}
static void unref_parttable(blkid_parttable tab)
{
- tab->nparts--;
+ if (!tab)
+ return;
+ tab->nparts--;
if (tab->nparts <= 0) {
list_del(&tab->t_tabs);
free(tab);