summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crypto/kerberosIV/lib/krb/getaddrs.c4
-rw-r--r--lib/libc/rpc/get_myaddress.c2
-rw-r--r--lib/libc/rpc/pmap_rmt.c2
3 files changed, 5 insertions, 3 deletions
diff --git a/crypto/kerberosIV/lib/krb/getaddrs.c b/crypto/kerberosIV/lib/krb/getaddrs.c
index d157690..c2e12b1 100644
--- a/crypto/kerberosIV/lib/krb/getaddrs.c
+++ b/crypto/kerberosIV/lib/krb/getaddrs.c
@@ -29,6 +29,8 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
+ *
+ * $FreeBSD$
*/
#include "krb_locl.h"
@@ -128,7 +130,7 @@ k_get_all_addrs (struct in_addr **l)
continue;
(*l)[j++] = ((struct sockaddr_in *)&ifr->ifr_addr)->sin_addr;
}
- ifreq = *ifr;
+ memcpy(&ifreq, ifr, sizeof(ifreq));
}
}
if (j != num) {
diff --git a/lib/libc/rpc/get_myaddress.c b/lib/libc/rpc/get_myaddress.c
index 05fae48..eb2917e 100644
--- a/lib/libc/rpc/get_myaddress.c
+++ b/lib/libc/rpc/get_myaddress.c
@@ -81,7 +81,7 @@ again:
end = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
while (ifr < end) {
- ifreq = *ifr;
+ memcpy(&ifreq, ifr, sizeof(ifreq));
if (ioctl(s, SIOCGIFFLAGS, (char *)&ifreq) < 0) {
_close(s);
return(-1);
diff --git a/lib/libc/rpc/pmap_rmt.c b/lib/libc/rpc/pmap_rmt.c
index 55ddef9..f36acf1 100644
--- a/lib/libc/rpc/pmap_rmt.c
+++ b/lib/libc/rpc/pmap_rmt.c
@@ -189,7 +189,7 @@ getbroadcastnets(addrs, sock, buf)
ifr = (struct ifreq *)cp;
if (ifr->ifr_addr.sa_family != AF_INET)
continue;
- ifreq = *ifr;
+ memcpy(&ifreq, ifr, sizeof(ifreq));
if (ioctl(sock, SIOCGIFFLAGS, (char *)&ifreq) < 0) {
perror("broadcast: ioctl (get interface flags)");
continue;
OpenPOWER on IntegriCloud