diff options
author | wtc%netscape.com <devnull@localhost> | 2001-02-28 01:00:49 +0000 |
---|---|---|
committer | wtc%netscape.com <devnull@localhost> | 2001-02-28 01:00:49 +0000 |
commit | 21bfbab7c2e94460496e16a299707d068403fa33 (patch) | |
tree | 1ae6c08073017e74196874ee6b2627832cdfa326 | |
parent | 223c159bafcf60a3879e846d1a66c28038ada828 (diff) | |
download | nspr-hg-NSPRPUB_RELEASE_4_1_1_BETA3.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.c | 4 |
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 |