summaryrefslogtreecommitdiffstats
path: root/crypto/bio
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2018-04-06 14:33:30 +0200
committerAndy Polyakov <appro@openssl.org>2018-04-09 22:32:59 +0200
commit55bd917bc4213bc668f48b87d8c6feb9918fef8f (patch)
tree7f0fbb22df72042962bb5cd82f25f592414b88ac /crypto/bio
parent3c3badcf42a7aa7fe6ed84c943808d1d769abd14 (diff)
bio/b_addr.c: resolve HP-UX compiler warnings.
The warning reads "[cast] may cause misaligned access". Even though this can be application-supplied pointer, misaligned access shouldn't happen, because structure type is "encoded" into data itself, and application would customarily pass correctly aligned pointer. But there is no harm in resolving the warning... Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5894)
Diffstat (limited to 'crypto/bio')
-rw-r--r--crypto/bio/b_addr.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/crypto/bio/b_addr.c b/crypto/bio/b_addr.c
index a2ef94414d..9832c0c89c 100644
--- a/crypto/bio/b_addr.c
+++ b/crypto/bio/b_addr.c
@@ -66,18 +66,18 @@ void BIO_ADDR_clear(BIO_ADDR *ap)
int BIO_ADDR_make(BIO_ADDR *ap, const struct sockaddr *sa)
{
if (sa->sa_family == AF_INET) {
- ap->s_in = *(const struct sockaddr_in *)sa;
+ memcpy(&(ap->s_in), sa, sizeof(struct sockaddr_in));
return 1;
}
#ifdef AF_INET6
if (sa->sa_family == AF_INET6) {
- ap->s_in6 = *(const struct sockaddr_in6 *)sa;
+ memcpy(&(ap->s_in6), sa, sizeof(struct sockaddr_in6));
return 1;
}
#endif
#ifdef AF_UNIX
if (sa->sa_family == AF_UNIX) {
- ap->s_un = *(const struct sockaddr_un *)sa;
+ memcpy(&(ap->s_un), sa, sizeof(struct sockaddr_un));
return 1;
}
#endif