]> git.sesse.net Git - cubemap/blobdiff - httpinput.cpp
Stop leaking the /dev/null fd after spawning a subprocess.
[cubemap] / httpinput.cpp
index 3a6b3c8af561afba6ca00a23bcb5d621ed79cb17..62ed663611402cef5d4517cef00d8033300391bc 100644 (file)
@@ -80,7 +80,7 @@ HTTPInput::HTTPInput(const InputProto &serialized)
 {
        // Set back the close-on-exec flag for the socket.
        // (This can't leak into a child, since we haven't been started yet.)
-       fcntl(sock, F_SETFD, 1);
+       fcntl(sock, F_SETFD, O_CLOEXEC);
 
        pending_data.resize(serialized.pending_data().size());
        memcpy(&pending_data[0], serialized.pending_data().data(), serialized.pending_data().size());
@@ -276,6 +276,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) {