xref: /llvm-project/clang-tools-extra/docs/clang-tidy/checks/android/cloexec-socket.rst (revision 6e566bc5523f743bc34a7e26f050f1f2b4d699a8)
1.. title:: clang-tidy - android-cloexec-socket
2
3android-cloexec-socket
4======================
5
6``socket()`` should include ``SOCK_CLOEXEC`` in its type argument to avoid the
7file descriptor leakage. Without this flag, an opened sensitive file would
8remain open across a fork+exec to a lower-privileged SELinux domain.
9
10Examples:
11
12.. code-block:: c++
13
14  socket(domain, type, SOCK_STREAM);
15
16  // becomes
17
18  socket(domain, type, SOCK_STREAM | SOCK_CLOEXEC);
19