Firmware installation bugfixes (#9855)
* Fix race condition in PUP installation abortion. * Fix freezes of emulator in case the PUP installation failed due to filesystem errors. * Use fs::create_path as opposed to fs::create_dir as it is can create upper directories in case they are missing and is better in error handling. * Report TAR errors on failure to create directories. * Fix pup_object constructor to not crash on invalid PUP file header. (report an error) * Fix pup_object::validate_hashes to not crash on invalid PUP file entries. (report an error) * Do not call Qt functions inside a named_thread because it is wrong.
This commit is contained in:
@@ -131,7 +131,12 @@ bool tar_object::extract(std::string path, std::string ignore)
|
||||
|
||||
case '5':
|
||||
{
|
||||
fs::create_dir(result);
|
||||
if (!fs::create_path(result))
|
||||
{
|
||||
tar_log.error("TAR Loader: failed to create directory %s (%s)", header.name, fs::g_tls_error);
|
||||
return false;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user