]> granicus.if.org Git - php/commitdiff
Zero sockaddr struct
authorNikita Popov <nikita.ppv@gmail.com>
Mon, 15 Apr 2019 12:59:05 +0000 (14:59 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 15 Apr 2019 12:59:05 +0000 (14:59 +0200)
in6 has a bunch of extra fields that we're leaving uninitialized. I
don't see them locally, but there's valgrind warnings on gcov.

main/network.c

index 13964e34f842792178d5f5fa3a1195f7ca21c8f7..70a1bc53fcfbca267ef7792936b1667d9b5ac44f 100644 (file)
@@ -526,6 +526,8 @@ PHPAPI int php_network_parse_network_address_with_port(const char *addr, zend_lo
        struct sockaddr_in6 *in6 = (struct sockaddr_in6*)sa;
 #endif
 
+       memset(sa, 0, sizeof(struct sockaddr));
+
        if (*addr == '[') {
                colon = memchr(addr + 1, ']', addrlen-1);
                if (!colon || colon[1] != ':') {