summaryrefslogtreecommitdiff
path: root/mail/postfix
diff options
context:
space:
mode:
authorsommerfeld <sommerfeld@pkgsrc.org>2000-01-16 00:51:06 +0000
committersommerfeld <sommerfeld@pkgsrc.org>2000-01-16 00:51:06 +0000
commitfb7661640c629d350fd75c9dde13a11700bb3a0d (patch)
treed1d96165cbff0f9835adbba838b08f83931cc308 /mail/postfix
parentbd3c700a4f9666d67979a32b832afc4d0660ca32 (diff)
downloadpkgsrc-fb7661640c629d350fd75c9dde13a11700bb3a0d.tar.gz
Avoid misaligned loads on alpha in util/inet_addr_local.c: copy *ifr in
such a way that gcc doesn't make unwarranted assumptions about the alignment of *ifr. Simply casting to (char *) wasn't sufficient.
Diffstat (limited to 'mail/postfix')
-rw-r--r--mail/postfix/files/patch-sum3
-rw-r--r--mail/postfix/patches/patch-bs22
2 files changed, 24 insertions, 1 deletions
diff --git a/mail/postfix/files/patch-sum b/mail/postfix/files/patch-sum
index 4427f2f86ec..6e397d768e5 100644
--- a/mail/postfix/files/patch-sum
+++ b/mail/postfix/files/patch-sum
@@ -1,4 +1,4 @@
-$NetBSD: patch-sum,v 1.5 1999/11/18 14:36:20 agc Exp $
+$NetBSD: patch-sum,v 1.6 2000/01/16 00:51:06 sommerfeld Exp $
MD5 (patch-aa) = cdf2646ba580757237d38ddd98768214
MD5 (patch-ab) = 8b503cf0ecfaffdfefa2273631588d30
@@ -44,3 +44,4 @@ MD5 (patch-bo) = e2ee220c316ad8a3530b3ffb0bc069bc
MD5 (patch-bp) = 6cacc40a5e145fa0d83179f0712fe4e5
MD5 (patch-bq) = 28f7c23282edafb36d3754c022f44178
MD5 (patch-br) = c9bded674e4e2d415f06da232cab26c4
+MD5 (patch-bs) = c4e2c5417c2a18e523531dd88ae8dfb0
diff --git a/mail/postfix/patches/patch-bs b/mail/postfix/patches/patch-bs
new file mode 100644
index 00000000000..756ca03b67f
--- /dev/null
+++ b/mail/postfix/patches/patch-bs
@@ -0,0 +1,22 @@
+$NetBSD: patch-bs,v 1.1 2000/01/16 00:51:07 sommerfeld Exp $
+
+--- util/inet_addr_local.c.orig Fri Aug 27 08:08:43 1999
++++ util/inet_addr_local.c Sat Jan 15 17:41:30 2000
+@@ -42,6 +42,7 @@
+ #include <sys/sockio.h>
+ #endif
+ #include <errno.h>
++#include <string.h>
+
+ /* Utility library. */
+
+@@ -114,7 +115,8 @@
+ the_end = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
+ for (ifr = ifc.ifc_req; ifr < the_end;) {
+ if (ifr->ifr_addr.sa_family == AF_INET) { /* IP interface */
+- ifreq = *ifr;
++ char *ifrp = (char *)ifr;
++ memcpy(&ifreq, ifrp, sizeof(*ifr));
+ if (ioctl(sock, SIOCGIFFLAGS, (char *) &ifreq) < 0)
+ msg_fatal("%s: ioctl SIOCGIFFLAGS: %m", myname);
+ if (ifreq.ifr_flags & IFF_UP) { /* active interface */