diff --git a/WHATS_NEW b/WHATS_NEW index 706587baf..aaa100b81 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.85 - =================================== + Use char* arithmetic in _text_write(), _text_read() & send_message(). Fix compilation when devmapper is dissabled. Remove fs_unlock() from lv_suspend error path. Change memory locking semantic and use critical sections. diff --git a/daemons/clvmd/clvmd.c b/daemons/clvmd/clvmd.c index 8e21732e0..3726324c0 100644 --- a/daemons/clvmd/clvmd.c +++ b/daemons/clvmd/clvmd.c @@ -1867,7 +1867,7 @@ static int send_message(void *buf, int msglen, const char *csid, int fd, break; } - len = write(fd, buf + ptr, msglen - ptr); + len = write(fd, (char*)buf + ptr, msglen - ptr); if (len <= 0) { if (errno == EINTR) diff --git a/lib/format_text/text_label.c b/lib/format_text/text_label.c index e459cdef4..675dbe84e 100644 --- a/lib/format_text/text_label.c +++ b/lib/format_text/text_label.c @@ -52,7 +52,7 @@ static int _text_write(struct label *label, void *buf) strncpy((char *)lh->type, label->type, sizeof(label->type)); - pvhdr = (struct pv_header *) ((void *) buf + xlate32(lh->offset_xl)); + pvhdr = (struct pv_header *) ((char *) buf + xlate32(lh->offset_xl)); info = (struct lvmcache_info *) label->info; pvhdr->device_size_xl = xlate64(info->device_size); memcpy(pvhdr->pv_uuid, &info->dev->pvid, sizeof(struct id)); @@ -266,7 +266,7 @@ static int _text_read(struct labeller *l, struct device *dev, void *buf, char *creation_host; struct mda_header *mdah; - pvhdr = (struct pv_header *) ((void *) buf + xlate32(lh->offset_xl)); + pvhdr = (struct pv_header *) ((char *) buf + xlate32(lh->offset_xl)); if (!(info = lvmcache_add(l, (char *)pvhdr->pv_uuid, dev, FMT_TEXT_ORPHAN_VG_NAME,