about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authoronur-ozkan <work@onurozkan.dev>2023-10-09 21:43:33 +0300
committeronur-ozkan <work@onurozkan.dev>2023-10-09 22:00:54 +0300
commit86e9b0f0d4881787bed2ff77d3bb6db56d077ee2 (patch)
tree2352c2bf0a009d5bf2102c9b823e4e94e8073d07 /src
parent1e3c8f196b2753b3e463bc6be2dc446f36653279 (diff)
downloadrust-86e9b0f0d4881787bed2ff77d3bb6db56d077ee2.tar.gz
rust-86e9b0f0d4881787bed2ff77d3bb6db56d077ee2.zip
add `SAFETY` block on usage of unsafe `getuid`
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Diffstat (limited to 'src')
-rw-r--r--src/bootstrap/lib.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index 5c78015e560..0ac856479f8 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
@@ -368,6 +368,10 @@ impl Build {
         // https://github.com/rust-lang/rust/blob/a8a33cf27166d3eabaffc58ed3799e054af3b0c6/src/bootstrap/bootstrap.py#L796-L797
         let is_sudo = match env::var_os("SUDO_USER") {
             Some(_sudo_user) => {
+                // SAFETY: getuid() system call is always successful and no return value is reserved
+                // to indicate an error.
+                //
+                // For more context, see https://man7.org/linux/man-pages/man2/geteuid.2.html
                 let uid = unsafe { libc::getuid() };
                 uid == 0
             }