Remove possibly faulty tickets when installing CIAs

fixes #685
This commit is contained in:
d0k3 2021-03-22 17:42:31 +01:00
parent c20911047a
commit 1a27dcb1e8

View File

@ -1985,17 +1985,21 @@ u32 InstallCiaSystemData(CiaStub* cia, const char* drv) {
// title database // title database
if (!InitImgFS(path_titledb) || if (!InitImgFS(path_titledb) ||
((AddTitleInfoEntryToDB(PART_PATH, title_id, &tie, true)) != 0)) { (AddTitleInfoEntryToDB(PART_PATH, title_id, &tie, true) != 0)) {
InitImgFS(path_bak); InitImgFS(path_bak);
return 1; return 1;
} }
// ticket database // ticket database
if (!InitImgFS(path_ticketdb) || if (!InitImgFS(path_ticketdb) ||
((AddTicketToDB(PART_PATH, title_id, (Ticket*) ticket, true)) != 0)) { (AddTicketToDB(PART_PATH, title_id, (Ticket*) ticket, true) != 0)) {
// workaround for bug #685
RemoveTicketFromDB(PART_PATH, title_id);
if (AddTicketToDB(PART_PATH, title_id, (Ticket*) ticket, true) != 0) {
InitImgFS(path_bak); InitImgFS(path_bak);
return 1; return 1;
} }
}
// restore old mount path // restore old mount path
InitImgFS(path_bak); InitImgFS(path_bak);