Using non-octal values to set Unix file permissions is problematic because they are converted to octal internally, which can lead to unexpected
file permissions and potential security issues.
Code examples
Noncompliant code example
use std::fs::OpenOptions;
use std::os::unix::fs::OpenOptionsExt;
let mut options = OpenOptions::new();
options.mode(644); // Noncompliant: Non-octal value used.
Compliant solution
use std::fs::OpenOptions;
use std::os::unix::fs::OpenOptionsExt;
let mut options = OpenOptions::new();
options.mode(0o644); // Compliant: Octal value used.