aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib9/sendfd.c2
-rw-r--r--src/libip/udp.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/lib9/sendfd.c b/src/lib9/sendfd.c
index b5e332ca..e2abb759 100644
--- a/src/lib9/sendfd.c
+++ b/src/lib9/sendfd.c
@@ -83,6 +83,6 @@ recvfd(int s)
return -1;
}
cmsg = CMSG_FIRSTHDR(&msg);
- fd = *(int*)CMSG_DATA(cmsg);
+ memmove(&fd, CMSG_DATA(cmsg), sizeof(int));
return fd;
}
diff --git a/src/libip/udp.c b/src/libip/udp.c
index f318c4c3..ae413a24 100644
--- a/src/libip/udp.c
+++ b/src/libip/udp.c
@@ -46,8 +46,8 @@ udpwrite(int fd, Udphdr *hdr, void *buf, long n)
memset(&sin, 0, sizeof sin);
sin.sin_family = AF_INET;
- *(u32int*)&sin.sin_addr = *(u32int*)(hdr->raddr+12);
- *(u16int*)&sin.sin_port = *(u16int*)hdr->rport;
+ memmove(&sin.sin_addr, hdr->raddr+12, 4);
+ memmove(&sin.sin_port, hdr->rport, 2);
return sendto(fd, buf, n, 0, (struct sockaddr*)&sin, sizeof sin);
}