From 72b9bb6d922bef56ffa5f5627f38b274cd03bbb3 Mon Sep 17 00:00:00 2001
From: hniksic <devnull@localhost>
Date: Mon, 30 Apr 2001 03:19:41 -0700
Subject: [PATCH] [svn] Zero out SIN before using it. Published in
 <sxs3daq8zdg.fsf@florida.arsdigita.de>.

---
 src/ChangeLog | 5 +++++
 src/init.c    | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 9fed7116..f1ff7e1e 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2001-04-30  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+	* init.c (cmd_address): Zero SIN before using it; apparently
+	needed on *BSD.
+
 2001-04-29  Hrvoje Niksic  <hniksic@arsdigita.com>
 
 	* ftp.c (ftp_loop_internal): Don't set NO_TRUNCATE if the file is
diff --git a/src/init.c b/src/init.c
index 62115a86..5cbb2ff5 100644
--- a/src/init.c
+++ b/src/init.c
@@ -521,13 +521,14 @@ cmd_address (const char *com, const char *val, void *closure)
   struct sockaddr_in sin;
   struct sockaddr_in **target = (struct sockaddr_in **)closure;
 
+  memset (&sin, '\0', sizeof (sin));
+
   if (!store_hostaddress ((unsigned char *)&sin.sin_addr, val))
     {
       fprintf (stderr, _("%s: %s: Cannot convert `%s' to an IP address.\n"),
 	       exec_name, com, val);
       return 0;
     }
-
   sin.sin_family = AF_INET;
   sin.sin_port = 0;