commit eb916dafa2967bc60a8996ea7cc0a23a661ed88e from: Omar Polo date: Thu May 16 08:57:32 2024 UTC gotwebd: plug leak in get_addrs() error path h is free'd by add_addr in case of error, but we still leak the getaddrinfo result. while here make the check strictier: addr_addr() fails with -1. commit - a3844d7a3c9a386d7bc73fb0152fa714533a7e91 commit + eb916dafa2967bc60a8996ea7cc0a23a661ed88e blob - f6bc017cf3e7e0a37f23b54c34c50085bf40ccc6 blob + 84c27c6aef847eb203aee9d73ec6114c3af9eb15 --- gotwebd/parse.y +++ gotwebd/parse.y @@ -1064,8 +1064,10 @@ get_addrs(const char *hostname, const char *servname, fatalx("unknown address family %d", res->ai_family); } - if (add_addr(new_srv, h)) + if (add_addr(new_srv, h) == -1) { + freeaddrinfo(res0); return -1; + } } freeaddrinfo(res0); return (0);