c_types: handle errors from getgroups()/getgrouplist()

This commit is contained in:
Michael Gehring
2014-06-16 22:24:09 +02:00
parent d24327b243
commit d22be16932
+4
View File
@@ -13,6 +13,7 @@ use self::libc::funcs::posix88::unistd::getgroups;
use std::vec::Vec;
use std::io::IoError;
use std::ptr::read;
use std::str::raw::from_c_str;
@@ -138,6 +139,9 @@ pub fn group(possible_pw: Option<c_passwd>, nflag: bool) {
};
}
if ngroups < 0 {
crash!(1, "{}", IoError::last_error());
}
unsafe { groups.set_len(ngroups as uint) };