summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2009-09-11 23:09:11 +0200
committerFlorian Westphal <fw@strlen.de>2009-09-11 23:09:11 +0200
commited72bf4cebe47dda78a41fbeebe803caa13f2cfa (patch)
treeb0d57a665cf2433bad93d4c02dc55de5e7cc51b9 /src
parentd76910ce7b9fad5679b7c614ed086e036560e37d (diff)
downloadngircd-ed72bf4cebe47dda78a41fbeebe803caa13f2cfa.tar.gz
ngircd-ed72bf4cebe47dda78a41fbeebe803caa13f2cfa.zip
resolve.c: fix valgrind 'uninitialized memory' warning
fix the following warning generated by valgrind if ipv6 is enabled:

Syscall param write(buf) points to uninitialised byte(s)
   at 0x4000982: (within /lib/ld-2.9.so)
   by 0x80681A8: Resolve_Name (resolve.c:477)
   by 0x805439F: Conn_Handler (conn.c:1658)
   by 0x804AA7C: main (ngircd.c:331)

The warning is because ng_ipaddr_t can be a union, and only the
necessary parts are initialised.  The callers know what part
of the union is valid, so this is not a bug.
Diffstat (limited to 'src')
-rw-r--r--src/ngircd/resolve.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/ngircd/resolve.c b/src/ngircd/resolve.c
index 20077a41..b1487bef 100644
--- a/src/ngircd/resolve.c
+++ b/src/ngircd/resolve.c
@@ -291,6 +291,8 @@ ForwardLookup(const char *hostname, array *IpAddr)
 	if (!Conf_ConnectIPv4)
 		hints.ai_family = AF_INET6;
 #endif
+	memset(&addr, 0, sizeof(addr));
+
 	res = getaddrinfo(hostname, NULL, &hints, &ai_results);
 	switch (res) {
 	case 0:	break;