1
0
Fork 0

getpwnam: Give precise error message if we cannot lookup the user

Dieser Commit ist enthalten in:
Albert S. 2020-09-14 19:45:58 +02:00
Ursprung bb0b2886e9
Commit 659f7bd320
1 geänderte Dateien mit 6 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -82,6 +82,12 @@ fn getpwnam(username: &str) -> std::io::Result<Passwd> {
let username_ptr = username_c.as_ptr();
let pwnamresult: *mut libc::passwd = unsafe { libc::getpwnam(username_ptr) };
if pwnamresult.is_null() {
if Error::last_os_error().raw_os_error().unwrap() == 0 {
return Err(Error::new(
ErrorKind::NotFound,
format!("The username '{}' was not found", username),
));
}
return Err(Error::new(
Error::last_os_error().kind(),
"Lookup of user failed: ".to_owned() +