summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>2001-05-30 15:52:24 +0000
committerbrian <brian@FreeBSD.org>2001-05-30 15:52:24 +0000
commit39c721b4d07fd21a8cecec9fb4fb7d8c30e8626a (patch)
tree8c8ea9d8a5fedab9bc286fa9cb3ef3784383a76b /usr.sbin
parentd280325d88ea953302d08da128fa30ad7b734c9b (diff)
downloadFreeBSD-src-39c721b4d07fd21a8cecec9fb4fb7d8c30e8626a.zip
FreeBSD-src-39c721b4d07fd21a8cecec9fb4fb7d8c30e8626a.tar.gz
Fix an alignment error
PR: 27766 Submitted by: Sudish Joseph <sudish@mindspring.com> MFC after: 2 weeks
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/ppp/ip.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/usr.sbin/ppp/ip.c b/usr.sbin/ppp/ip.c
index 6857c13..82f8092 100644
--- a/usr.sbin/ppp/ip.c
+++ b/usr.sbin/ppp/ip.c
@@ -450,7 +450,7 @@ ip_LogDNS(const struct udphdr *uh, const char *direction)
struct dns_header header;
const u_short *pktptr;
const u_char *ptr;
- u_short *hptr;
+ u_short *hptr, tmp;
int len;
ptr = (const char *)uh + sizeof *uh;
@@ -489,11 +489,16 @@ ip_LogDNS(const struct udphdr *uh, const char *direction)
n += len;
}
*n = '\0';
- qtype = dns_Qtype2Txt(ntohs(*(const u_short *)end));
- qclass = dns_Qclass2Txt(ntohs(*(const u_short *)(end + 2)));
- log_Printf(LogDNS, "%sbound query %s %s %s\n",
- direction, qclass, qtype, namewithdot);
+ if (log_IsKept(LogDNS)) {
+ memcpy(&tmp, end, sizeof tmp);
+ qtype = dns_Qtype2Txt(ntohs(tmp));
+ memcpy(&tmp, end + 2, sizeof tmp);
+ qclass = dns_Qclass2Txt(ntohs(tmp));
+
+ log_Printf(LogDNS, "%sbound query %s %s %s\n",
+ direction, qclass, qtype, namewithdot);
+ }
}
}
OpenPOWER on IntegriCloud