Fix of #3969 (crash if $USER is not set)

This commit is contained in:
Lukas Matena 2021-09-22 11:39:47 +02:00
parent ef800a8547
commit d57d3f99d0

View file

@ -201,9 +201,7 @@ namespace search_for_drives_internal
struct stat buf; struct stat buf;
stat(path.c_str(), &buf); stat(path.c_str(), &buf);
uid_t uid = buf.st_uid; uid_t uid = buf.st_uid;
std::string username(std::getenv("USER")); if (getuid() == uid)
struct passwd *pw = getpwuid(uid);
if (pw != 0 && pw->pw_name == username)
out.emplace_back(DriveData{ boost::filesystem::basename(boost::filesystem::path(path)), path }); out.emplace_back(DriveData{ boost::filesystem::basename(boost::filesystem::path(path)), path });
} }
} }
@ -245,7 +243,7 @@ std::vector<DriveData> RemovableDriveManager::search_for_removable_drives() cons
search_for_drives_internal::search_path("/media/*", "/media", current_drives); search_for_drives_internal::search_path("/media/*", "/media", current_drives);
//search_path("/Volumes/*", "/Volumes"); //search_path("/Volumes/*", "/Volumes");
std::string path(std::getenv("USER")); std::string path = wxGetUserId().ToUTF8().data();
std::string pp(path); std::string pp(path);
//search /media/USERNAME/* folder //search /media/USERNAME/* folder