[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.
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;
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)
return 0; /* ignore zeros */
if (chn->binary) {
- memcpy(chn->data + structoff, &data, sizeof(data));
+ memcpy((char *) chn->data + structoff, &data, sizeof(data));
return 0;
}
return blkid_probe_sprintf_value(pr, name, "%lu", data);
static inline int cpy_str_at_offset(void *new, const void *old, size_t offset)
{
- char **o = (char **) (old + offset);
- char **n = (char **) (new + offset);
+ char **o = (char **) ((char *) old + offset);
+ char **n = (char **) ((char *) new + offset);
if (*n)
return 0; /* already set, don't overwrite */