From 1a27dcb1e879f32433b45bb9e94bb9a05fe56fd8 Mon Sep 17 00:00:00 2001 From: d0k3 Date: Mon, 22 Mar 2021 17:42:31 +0100 Subject: [PATCH] Remove possibly faulty tickets when installing CIAs fixes #685 --- arm9/source/utils/gameutil.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/arm9/source/utils/gameutil.c b/arm9/source/utils/gameutil.c index 5f03e70..84bef45 100644 --- a/arm9/source/utils/gameutil.c +++ b/arm9/source/utils/gameutil.c @@ -1985,16 +1985,20 @@ u32 InstallCiaSystemData(CiaStub* cia, const char* drv) { // title database if (!InitImgFS(path_titledb) || - ((AddTitleInfoEntryToDB(PART_PATH, title_id, &tie, true)) != 0)) { + (AddTitleInfoEntryToDB(PART_PATH, title_id, &tie, true) != 0)) { InitImgFS(path_bak); return 1; } // ticket database if (!InitImgFS(path_ticketdb) || - ((AddTicketToDB(PART_PATH, title_id, (Ticket*) ticket, true)) != 0)) { - InitImgFS(path_bak); - return 1; + (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); + return 1; + } } // restore old mount path