The pseudoterminal *master* fd is not supposed to be inherited, so make sure to open it with O_CLOEXEC.
@@ -148,7 +148,7 @@ int main(int argc, char** argv)
if (chdir(get_current_user_home_path().characters()) < 0)
perror("chdir");
- int ptm_fd = open("/dev/ptmx", O_RDWR);
+ int ptm_fd = open("/dev/ptmx", O_RDWR | O_CLOEXEC);
if (ptm_fd < 0) {
perror("open(ptmx)");
return 1;
@@ -24,7 +24,7 @@ void TerminalWrapper::run_command(const String& command)
return;
}
ASSERT_NOT_REACHED();