diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 2001-04-08 03:37:01 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 2001-04-08 03:37:01 +0000 |
commit | aa5a622218b1f8355f628c270a17643f51b9e580 (patch) | |
tree | 8300f1c223faf436cc8206f3eac3d20cf87f4307 | |
parent | c26ea50d9fd947ede98c9a5c8c05ff72fc15deaa (diff) | |
download | perl-aa5a622218b1f8355f628c270a17643f51b9e580.tar.gz |
integrate change#9470 from mainline
Subject: Re: [ID 20010215.006] Bad arg length for Socket::unpack_sockaddr_un, length is 14 ...
p4raw-link: @9470 on //depot/perl: 36902e12d2b30e9370acddd3ddab927d842061cf
p4raw-id: //depot/maint-5.6/perl@9623
p4raw-integrated: from //depot/perl@9605 'copy in' ext/Socket/Socket.xs
(@5741..)
-rw-r--r-- | ext/Socket/Socket.xs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/Socket/Socket.xs b/ext/Socket/Socket.xs index 0584e785b5..e08982909b 100644 --- a/ext/Socket/Socket.xs +++ b/ext/Socket/Socket.xs @@ -1006,12 +1006,15 @@ unpack_sockaddr_un(sun_sv) STRLEN sockaddrlen; char * sun_ad = SvPV(sun_sv,sockaddrlen); char * e; - +# ifndef __linux__ + /* On Linux sockaddrlen on sockets returned by accept, recvfrom, + getpeername and getsockname is not equal to sizeof(addr). */ if (sockaddrlen != sizeof(addr)) { croak("Bad arg length for %s, length is %d, should be %d", "Socket::unpack_sockaddr_un", sockaddrlen, sizeof(addr)); } +# endif Copy( sun_ad, &addr, sizeof addr, char ); |