repo: ngircd
action: commit
revision: 
path_from: 
revision_from: ed72bf4cebe47dda78a41fbeebe803caa13f2cfa:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit ed72bf4cebe47dda78a41fbeebe803caa13f2cfa
Author: Florian Westphal 
Date:   Fri Sep 11 23:09:11 2009 +0200

    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.

diff --git a/src/ngircd/resolve.c b/src/ngircd/resolve.c
index 20077a41d45e8e7e6865672ccaaa333b7a513571..
index ..b1487beff7bf7a8ee89b28f3913afe57ac26ebd6 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;

-----END OF PAGE-----