diff options
author | brian <brian@FreeBSD.org> | 2001-05-30 15:52:24 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 2001-05-30 15:52:24 +0000 |
commit | 39c721b4d07fd21a8cecec9fb4fb7d8c30e8626a (patch) | |
tree | 8c8ea9d8a5fedab9bc286fa9cb3ef3784383a76b /usr.sbin/ppp | |
parent | d280325d88ea953302d08da128fa30ad7b734c9b (diff) | |
download | FreeBSD-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/ppp')
-rw-r--r-- | usr.sbin/ppp/ip.c | 15 |
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); + } } } |