From 74d5d58a568a3b2633d3f4e82174c4697039d2b2 Mon Sep 17 00:00:00 2001 From: "wchang0222%aol.com" Date: Thu, 8 Jan 2004 02:32:04 +0000 Subject: [PATCH] Bugzilla bug 222037: we need to adjust the address family field of PRNetAddr on return from getpeername. The patch is contributed by Fredrik Holmqvist . r=wtc,darin. Tag: NSPRPUB_PRE_4_2_CLIENT_BRANCH git-svn-id: svn://10.0.0.236/branches/NSPRPUB_PRE_4_2_CLIENT_BRANCH@151011 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/nsprpub/pr/src/md/beos/bnet.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mozilla/nsprpub/pr/src/md/beos/bnet.c b/mozilla/nsprpub/pr/src/md/beos/bnet.c index 2aa0194fcb0..c4e2beae556 100644 --- a/mozilla/nsprpub/pr/src/md/beos/bnet.c +++ b/mozilla/nsprpub/pr/src/md/beos/bnet.c @@ -744,6 +744,15 @@ _MD_getpeername (PRFileDesc *fd, PRNetAddr *addr, PRUint32 *addrlen) rv = getpeername(fd->secret->md.osfd, (struct sockaddr *) addr, (_PRSockLen_t *)addrlen); +#ifdef _PR_HAVE_SOCKADDR_LEN + if (rv == 0) { + /* ignore the sa_len field of struct sockaddr */ + if (addr) { + addr->raw.family = ((struct sockaddr *) addr)->sa_family; + } + } +#endif /* _PR_HAVE_SOCKADDR_LEN */ + if (rv < 0) { err = _MD_ERRNO(); _PR_MD_MAP_GETPEERNAME_ERROR(err);