- *ts_kern = *(struct timespec *)CMSG_DATA(cmsg);
- else if (cmsg->cmsg_type == SO_RXQ_OVFL)
- dropcnt += *(__u32 *)CMSG_DATA(cmsg);
+ memcpy(ts_kern, CMSG_DATA(cmsg), sizeof(struct timespec));
+ else if (cmsg->cmsg_type == SO_RXQ_OVFL) {
+ uint32_t ovfl;
+ memcpy(&ovfl, CMSG_DATA(cmsg), sizeof(ovfl));
+ dropcnt += ovfl;
+ }