From aaca1c013b7d8636b1ccd714889d22c0d56a512c Mon Sep 17 00:00:00 2001 From: Nick Peng Date: Wed, 13 Nov 2019 23:45:45 +0800 Subject: [PATCH] Fix byte alignment issue --- src/dns.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/dns.c b/src/dns.c index 86f2248..557d64e 100644 --- a/src/dns.c +++ b/src/dns.c @@ -622,15 +622,15 @@ int dns_add_SOA(struct dns_packet *packet, dns_rr_type type, char *domain, int t ptr += strnlen(soa->mname, DNS_MAX_CNAME_LEN - 1) + 1; safe_strncpy((char *)ptr, soa->rname, DNS_MAX_CNAME_LEN); ptr += strnlen(soa->rname, DNS_MAX_CNAME_LEN - 1) + 1; - *((unsigned int *)ptr) = soa->serial; + memcpy(ptr, &soa->serial, sizeof(unsigned int)); ptr += 4; - *((unsigned int *)ptr) = soa->refresh; + memcpy(ptr, &soa->refresh, sizeof(unsigned int)); ptr += 4; - *((unsigned int *)ptr) = soa->retry; + memcpy(ptr, &soa->retry, sizeof(unsigned int)); ptr += 4; - *((unsigned int *)ptr) = soa->expire; + memcpy(ptr, &soa->expire, sizeof(unsigned int)); ptr += 4; - *((unsigned int *)ptr) = soa->minimum; + memcpy(ptr, &soa->minimum, sizeof(unsigned int)); ptr += 4; len = ptr - data;