]> git.sesse.net Git - cubemap/blobdiff - httpinput.cpp
Fix some memory leaks that are probably irrelevant in practice.
[cubemap] / httpinput.cpp
index 8d443c7d069214369af7020d258555aeeb6e3379..a972fa2ca9eb7d4b8783bc72fb5b2cda647bcd85 100644 (file)
@@ -167,6 +167,7 @@ int HTTPInput::lookup_and_connect(const string &host, const string &port)
                        log(WARNING, "[%s] Lookup of '%s' failed (%s).",
                                url.c_str(), host.c_str(), gai_strerror(err));
                }
+               freeaddrinfo(ai);
                return -1;
        }
 
@@ -198,6 +199,7 @@ int HTTPInput::lookup_and_connect(const string &host, const string &port)
                        bool complete = wait_for_activity(sock, POLLIN | POLLOUT, nullptr);
                        if (should_stop()) {
                                safe_close(sock);
+                               freeaddrinfo(base_ai);
                                return -1;
                        }
                        if (complete) {
@@ -276,6 +278,7 @@ int HTTPInput::open_child_process(const string &cmdline)
        free(argv[0]);
        free(argv[1]);
        free(argv[2]);
+       close(devnullfd);
        close(pipefd[1]);
 
        if (err == 0) {