diff options
author | Steve Huston <shuston@riverace.com> | 2004-03-10 16:44:24 +0000 |
---|---|---|
committer | Steve Huston <shuston@riverace.com> | 2004-03-10 16:44:24 +0000 |
commit | ac98b3872fc737300c207bf3bc50b05f5bb2088f (patch) | |
tree | 2a6e3542f2868de93aab229563c85237db22892c /ace/INET_Addr.cpp | |
parent | d5ad6504cf53e4d891be8f14cdb191cd74e9912e (diff) | |
download | ATCD-ac98b3872fc737300c207bf3bc50b05f5bb2088f.tar.gz |
ChangeLogTag:Wed Mar 10 11:39:41 2004 Steve Huston <shuston@riverace.com>
Diffstat (limited to 'ace/INET_Addr.cpp')
-rw-r--r-- | ace/INET_Addr.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ace/INET_Addr.cpp b/ace/INET_Addr.cpp index b95b67fffeb..62f6215d5e7 100644 --- a/ace/INET_Addr.cpp +++ b/ace/INET_Addr.cpp @@ -476,6 +476,9 @@ ACE_INET_Addr::set (const sockaddr_in *addr, int len) if (addr->sin_family == AF_INET) { + int maxlen = ACE_static_cast (int, sizeof (this->inet_addr_.in4_)); + if (len > maxlen) + len = maxlen; ACE_OS::memcpy (&this->inet_addr_.in4_, addr, len); this->base_set (AF_INET, len); return 0; @@ -483,6 +486,9 @@ ACE_INET_Addr::set (const sockaddr_in *addr, int len) #if defined (ACE_HAS_IPV6) else if (addr->sin_family == AF_INET6) { + int maxlen = ACE_static_cast (int, sizeof (this->inet_addr_.in6_)); + if (len > maxlen) + len = maxlen; ACE_OS::memcpy (&this->inet_addr_.in6_, addr, len); this->base_set (AF_INET6, len); return 0; |