summaryrefslogtreecommitdiffstats
path: root/libblkid/src/superblocks/zfs.c
diff options
context:
space:
mode:
authorBoris Egorov2016-01-19 06:42:26 +0100
committerBoris Egorov2016-01-19 07:59:12 +0100
commitfef0063119b2e756cdf006d5c089552ca4d964ee (patch)
treee6f7473ae2d0ad4b5018767fcb192be49dfe3afb /libblkid/src/superblocks/zfs.c
parentlibblkid: (zfs) add cast to fix UB [cppcheck] (diff)
downloadkernel-qcow2-util-linux-fef0063119b2e756cdf006d5c089552ca4d964ee.tar.gz
kernel-qcow2-util-linux-fef0063119b2e756cdf006d5c089552ca4d964ee.tar.xz
kernel-qcow2-util-linux-fef0063119b2e756cdf006d5c089552ca4d964ee.zip
libblkid,libmount: Do not use void* in calculations [cppcheck]
[libblkid/src/superblocks/zfs.c:179]: (portability) 'label' is of type 'const void *'. When using void pointers in calculations, the behaviour is undefined. [libblkid/src/superblocks/zfs.c:237]: (portability) 'label' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [libblkid/src/topology/topology.c:221]: (portability) 'chn.data' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [libmount/src/fs.c:153]: (portability) 'old' is of type 'const void *'. When using void pointers in calculations, the behaviour is undefined. [libmount/src/fs.c:154]: (portability) 'new' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
Diffstat (limited to 'libblkid/src/superblocks/zfs.c')
-rw-r--r--libblkid/src/superblocks/zfs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libblkid/src/superblocks/zfs.c b/libblkid/src/superblocks/zfs.c
index 2804b151d..c505a7204 100644
--- a/libblkid/src/superblocks/zfs.c
+++ b/libblkid/src/superblocks/zfs.c
@@ -176,7 +176,7 @@ static int find_uberblocks(const void *label, loff_t *ub_offset, int *swap_endia
loff_t offset = VDEV_LABEL_UBERBLOCK;
for (i = 0; i < UBERBLOCKS_COUNT; i++, offset += UBERBLOCK_SIZE) {
- ub = (struct zfs_uberblock *)(label + offset);
+ ub = (struct zfs_uberblock *)((char *) label + offset);
if (ub->ub_magic == UBERBLOCK_MAGIC) {
*ub_offset = offset;
@@ -234,7 +234,7 @@ static int probe_zfs(blkid_probe pr, const struct blkid_idmag *mag)
if (found_in_label > 0) {
found+= found_in_label;
- ub = (struct zfs_uberblock *)(label + ub_offset);
+ ub = (struct zfs_uberblock *)((char *) label + ub_offset);
ub_offset += offset;
if (found >= ZFS_WANT)