Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(216)

Unified Diff: net/base/nss_memio.c

Issue 598071: Really connect to the same server in FTP network transaction. (Closed)
Patch Set: updates Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/base/nss_memio.h ('k') | net/ftp/ftp_network_transaction.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/nss_memio.c
diff --git a/net/base/nss_memio.c b/net/base/nss_memio.c
index 341cfee75f649675cffd0ead0289bb9e6790a00e..6796882e6af7f25e3cc484828119a45c0468ed17 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)
« no previous file with comments | « net/base/nss_memio.h ('k') | net/ftp/ftp_network_transaction.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698