]> arthur.barton.de Git - ngircd-alex.git/commitdiff
resolve.c: fix valgrind 'uninitialized memory' warning
authorFlorian Westphal <fw@strlen.de>
Fri, 11 Sep 2009 21:09:11 +0000 (23:09 +0200)
committerFlorian Westphal <fw@strlen.de>
Fri, 11 Sep 2009 21:09:11 +0000 (23:09 +0200)
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.

src/ngircd/resolve.c

index 20077a41d45e8e7e6865672ccaaa333b7a513571..b1487beff7bf7a8ee89b28f3913afe57ac26ebd6 100644 (file)
@@ -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;