소스 검색

su: Refuse to run if stdin is not a TTY

Andreas Kling 4 년 전
부모
커밋
6e592fb5c3
1개의 변경된 파일5개의 추가작업 그리고 0개의 파일을 삭제
  1. 5 0
      Userland/su.cpp

+ 5 - 0
Userland/su.cpp

@@ -36,6 +36,11 @@ extern "C" int main(int, char**);
 
 int main(int argc, char** argv)
 {
+    if (!isatty(STDIN_FILENO)) {
+        warnln("{}: standard in is not a terminal", argv[0]);
+        return 1;
+    }
+
     const char* user = nullptr;
 
     Core::ArgsParser args_parser;