summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>2001-02-28 01:00:49 +0000
committerwtc%netscape.com <devnull@localhost>2001-02-28 01:00:49 +0000
commit21bfbab7c2e94460496e16a299707d068403fa33 (patch)
tree1ae6c08073017e74196874ee6b2627832cdfa326
parent223c159bafcf60a3879e846d1a66c28038ada828 (diff)
downloadnspr-hg-21bfbab7c2e94460496e16a299707d068403fa33.tar.gz
Bugzilla bug #70381: zero the ipv6.ip field after we fail to parse aNSPRPUB_RELEASE_4_1_1_BETA3
string as an IPv6 address. Thanks to Chris Elving for the bug report. (NSPRPUB_RELEASE_4_1_BRANCH)
-rw-r--r--pr/src/misc/prnetdb.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/pr/src/misc/prnetdb.c b/pr/src/misc/prnetdb.c
index 98a3c69e..22a15dae 100644
--- a/pr/src/misc/prnetdb.c
+++ b/pr/src/misc/prnetdb.c
@@ -1423,6 +1423,8 @@ PR_IMPLEMENT(PRStatus) PR_StringToNetAddr(const char *string, PRNetAddr *addr)
else
{
PR_ASSERT(0 == rv);
+ /* clean up after the failed inet_pton() call */
+ memset(&addr->ipv6.ip, 0, sizeof(addr->ipv6.ip));
rv = inet_pton(AF_INET, string, &addr->inet.ip);
if (1 == rv)
{
@@ -1442,6 +1444,8 @@ PR_IMPLEMENT(PRStatus) PR_StringToNetAddr(const char *string, PRNetAddr *addr)
return PR_SUCCESS;
}
PR_ASSERT(0 == rv);
+ /* clean up after the failed StringToV6Addr() call */
+ memset(&addr->ipv6.ip, 0, sizeof(addr->ipv6.ip));
addr->inet.family = AF_INET;
#ifdef XP_OS2_VACPP