summaryrefslogtreecommitdiffstats
path: root/net/base/nss_memio.c
diff options
context:
space:
mode:
authorphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-20 18:50:38 +0000
committerphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-20 18:50:38 +0000
commitac9eec64de86f3d3a290a1a8b9321260cff7ed23 (patch)
treeaac041c6ddaec400b6e2b6d3d982935aa7f69a9c /net/base/nss_memio.c
parent8c1ae5ec4d47638315096f54819793484383c91f (diff)
downloadchromium_src-ac9eec64de86f3d3a290a1a8b9321260cff7ed23.zip
chromium_src-ac9eec64de86f3d3a290a1a8b9321260cff7ed23.tar.gz
chromium_src-ac9eec64de86f3d3a290a1a8b9321260cff7ed23.tar.bz2
Really connect to the same server in FTP network transaction.
Also create necessary infrastructure to know the address a client socket is connected to. TEST=Covered by net_unittests. BUG=35670 Review URL: http://codereview.chromium.org/598071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39559 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/nss_memio.c')
-rw-r--r--net/base/nss_memio.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/net/base/nss_memio.c b/net/base/nss_memio.c
index 341cfee..6796882 100644
--- a/net/base/nss_memio.c
+++ b/net/base/nss_memio.c
@@ -359,11 +359,17 @@ PRFileDesc *memio_CreateIOLayer(int bufsize)
return fd;
}
-void memio_SetPeerName(PRFileDesc *fd, const PRNetAddr *peername)
+void memio_SetPeerName(PRFileDesc *fd, const struct sockaddr *peername,
+ size_t peername_len)
{
PRFileDesc *memiofd = PR_GetIdentitiesLayer(fd, memio_identity);
struct PRFilePrivate *secret = memiofd->secret;
- secret->peername = *peername;
+ size_t len;
+
+ memset(&secret->peername, 0, sizeof(secret->peername));
+ PR_ASSERT(peername_len <= sizeof(secret->peername));
+ len = PR_MIN(peername_len, sizeof(secret->peername));
+ memcpy(&secret->peername, peername, len);
}
memio_Private *memio_GetSecret(PRFileDesc *fd)