From a081b936a2cd79d60700f7480a4b5ce5f123684d Mon Sep 17 00:00:00 2001 From: "wtc%netscape.com" Date: Sat, 27 Jan 2001 15:22:02 +0000 Subject: [PATCH] Bugzilla bug #54796: PR_InitializeNetAddr and PR_SetNetAddr should zero the socket address if the 'val' argument is not PR_IpAddrNull. Reviewed by John Myers. --- nsprpub/pr/src/misc/prnetdb.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nsprpub/pr/src/misc/prnetdb.c b/nsprpub/pr/src/misc/prnetdb.c index 6d0333a9505b..98a3c69ea8d2 100644 --- a/nsprpub/pr/src/misc/prnetdb.c +++ b/nsprpub/pr/src/misc/prnetdb.c @@ -1059,6 +1059,7 @@ PR_IMPLEMENT(PRStatus) PR_InitializeNetAddr( PRStatus rv = PR_SUCCESS; if (!_pr_initialized) _PR_ImplicitInitialization(); + if (val != PR_IpAddrNull) memset(addr, 0, sizeof(addr->inet)); addr->inet.family = AF_INET; addr->inet.port = htons(port); switch (val) @@ -1084,9 +1085,10 @@ PR_IMPLEMENT(PRStatus) PR_SetNetAddr( PRStatus rv = PR_SUCCESS; if (!_pr_initialized) _PR_ImplicitInitialization(); - addr->raw.family = af; if (af == PR_AF_INET6) { + if (val != PR_IpAddrNull) memset(addr, 0, sizeof(addr->ipv6)); + addr->ipv6.family = af; addr->ipv6.port = htons(port); addr->ipv6.flowinfo = 0; addr->ipv6.scope_id = 0; @@ -1107,6 +1109,8 @@ PR_IMPLEMENT(PRStatus) PR_SetNetAddr( } else { + if (val != PR_IpAddrNull) memset(addr, 0, sizeof(addr->inet)); + addr->inet.family = af; addr->inet.port = htons(port); switch (val) {