From 39c721b4d07fd21a8cecec9fb4fb7d8c30e8626a Mon Sep 17 00:00:00 2001 From: brian Date: Wed, 30 May 2001 15:52:24 +0000 Subject: Fix an alignment error PR: 27766 Submitted by: Sudish Joseph MFC after: 2 weeks --- usr.sbin/ppp/ip.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'usr.sbin') 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); + } } } -- cgit v1.1