summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <uberlord@gentoo.org>2007-03-23 14:15:09 +0000
committerRoy Marples <uberlord@gentoo.org>2007-03-23 14:15:09 +0000
commite70bf5142f1e2a79740b85532b8f31e86315422b (patch)
treef105e3ecc7df64185edb3c80c9b3505f576fb162 /sys-apps/ifplugd/files
parentVersion bump (diff)
downloadhistorical-e70bf5142f1e2a79740b85532b8f31e86315422b.tar.gz
historical-e70bf5142f1e2a79740b85532b8f31e86315422b.tar.bz2
historical-e70bf5142f1e2a79740b85532b8f31e86315422b.zip
Fix aliasing QA, #171415.
Package-Manager: portage-2.1.2.2
Diffstat (limited to 'sys-apps/ifplugd/files')
-rw-r--r--sys-apps/ifplugd/files/digest-ifplugd-0.28-r83
-rw-r--r--sys-apps/ifplugd/files/ifplugd-0.28-strictalias.patch63
2 files changed, 66 insertions, 0 deletions
diff --git a/sys-apps/ifplugd/files/digest-ifplugd-0.28-r8 b/sys-apps/ifplugd/files/digest-ifplugd-0.28-r8
new file mode 100644
index 000000000000..d58875572dca
--- /dev/null
+++ b/sys-apps/ifplugd/files/digest-ifplugd-0.28-r8
@@ -0,0 +1,3 @@
+MD5 df6f4bab52f46ffd6eb1f5912d4ccee3 ifplugd-0.28.tar.gz 142677
+RMD160 09914a1914a4432822bb660d6aef194debe688f1 ifplugd-0.28.tar.gz 142677
+SHA256 474754ac4ab32d738cbf2a4a3e87ee0a2c71b9048a38bdcd7df1e4f9fd6541f0 ifplugd-0.28.tar.gz 142677
diff --git a/sys-apps/ifplugd/files/ifplugd-0.28-strictalias.patch b/sys-apps/ifplugd/files/ifplugd-0.28-strictalias.patch
new file mode 100644
index 000000000000..3c5de8a2e731
--- /dev/null
+++ b/sys-apps/ifplugd/files/ifplugd-0.28-strictalias.patch
@@ -0,0 +1,63 @@
+--- src/interface.c.orig 2007-03-23 13:29:40.000000000 +0000
++++ src/interface.c 2007-03-23 13:30:05.000000000 +0000
+@@ -89,6 +89,10 @@
+
+ interface_status_t interface_detect_beat_mii(int fd, char *iface) {
+ struct ifreq ifr;
++ union {
++ caddr_t *data;
++ unsigned short *usz;
++ } ifd;
+
+ if (interface_auto_up)
+ interface_up(fd, iface);
+@@ -103,7 +107,8 @@
+ return IFSTATUS_ERR;
+ }
+
+- ((unsigned short*) &ifr.ifr_data)[1] = 1;
++ ifd.data = &ifr.ifr_data;
++ *++ifd.usz = 1;
+
+ if (ioctl(fd, SIOCGMIIREG, &ifr) == -1) {
+ if (interface_do_message)
+@@ -112,12 +117,17 @@
+ return IFSTATUS_ERR;
+ }
+
+- return (((unsigned short*) &ifr.ifr_data)[3] & 0x0004) ? IFSTATUS_UP : IFSTATUS_DOWN;
++ ifd.usz += 2;
++ return (*ifd.usz & 0x0004) ? IFSTATUS_UP : IFSTATUS_DOWN;
+ }
+
+ interface_status_t interface_detect_beat_priv(int fd, char *iface) {
+ struct ifreq ifr;
+-
++ union {
++ caddr_t *data;
++ unsigned short *usz;
++ } ifd;
++
+ if (interface_auto_up)
+ interface_up(fd, iface);
+
+@@ -131,7 +141,8 @@
+ return IFSTATUS_ERR;
+ }
+
+- ((unsigned short*) &ifr.ifr_data)[1] = 1;
++ ifd.data = &ifr.ifr_data;
++ *++ifd.usz = 1;
+
+ if (ioctl(fd, SIOCDEVPRIVATE+1, &ifr) == -1) {
+ if (interface_do_message)
+@@ -140,7 +151,8 @@
+ return IFSTATUS_ERR;
+ }
+
+- return (((unsigned short*) &ifr.ifr_data)[3] & 0x0004) ? IFSTATUS_UP : IFSTATUS_DOWN;
++ ifd.usz += 2;
++ return (*ifd.usz & 0x0004) ? IFSTATUS_UP : IFSTATUS_DOWN;
+ }
+
+ interface_status_t interface_detect_beat_ethtool(int fd, char *iface) {