Print this page
4142 truss should expand connect() arguments
*** 3483,3498 ****
{
/*
* A buffer large enough for PATH_MAX size AF_UNIX address, which is
* also large enough to store a sockaddr_in or a sockaddr_in6.
*/
! long buf[(sizeof (short) + PATH_MAX + sizeof (long) - 1)
! / sizeof (long)];
! struct sockaddr *sa = (struct sockaddr *)buf;
! struct sockaddr_in *sin = (struct sockaddr_in *)buf;
! struct sockaddr_un *soun = (struct sockaddr_un *)buf;
! struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)buf;
char addrbuf[INET6_ADDRSTRLEN];
if (lenoff != 0) {
uint_t ilen;
if (Pread(Proc, &ilen, sizeof (ilen), lenoff) != sizeof (ilen))
--- 3483,3498 ----
{
/*
* A buffer large enough for PATH_MAX size AF_UNIX address, which is
* also large enough to store a sockaddr_in or a sockaddr_in6.
*/
! struct sockaddr_storage buf;
!
! struct sockaddr *sa = (struct sockaddr *)&buf;
! struct sockaddr_in *sin = (struct sockaddr_in *)&buf;
! struct sockaddr_un *soun = (struct sockaddr_un *)&buf;
! struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&buf;
char addrbuf[INET6_ADDRSTRLEN];
if (lenoff != 0) {
uint_t ilen;
if (Pread(Proc, &ilen, sizeof (ilen), lenoff) != sizeof (ilen))
*** 3500,3510 ****
len = ilen;
}
if (len >= sizeof (buf)) /* protect against ridiculous length */
len = sizeof (buf) - 1;
! if (Pread(Proc, buf, len, addroff) != len)
return;
switch (sa->sa_family) {
case AF_INET6:
(void) printf("%s\tAF_INET6 %s = %s port = %u\n",
--- 3500,3510 ----
len = ilen;
}
if (len >= sizeof (buf)) /* protect against ridiculous length */
len = sizeof (buf) - 1;
! if (Pread(Proc, (void*)&buf, len, addroff) != len)
return;
switch (sa->sa_family) {
case AF_INET6:
(void) printf("%s\tAF_INET6 %s = %s port = %u\n",