From 6e0b6d2d0a4dba0595d7fdd94ec9082facf0a4ad Mon Sep 17 00:00:00 2001 From: aspargas2 Date: Thu, 25 Jun 2020 17:05:06 -0400 Subject: [PATCH] invalidate vbdri cached entry when a write fails --- arm9/source/virtual/vbdri.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arm9/source/virtual/vbdri.c b/arm9/source/virtual/vbdri.c index 39b4997..5fdd7f5 100644 --- a/arm9/source/virtual/vbdri.c +++ b/arm9/source/virtual/vbdri.c @@ -285,6 +285,11 @@ int WriteVBDRIFile(VirtualFile* vfile, const void* buffer, u64 offset, u64 count if ((is_tickdb ? AddTicketToDB(PART_PATH, title_ids + vfile->offset * 8, (Ticket*)(void*)cached_entry, true) : AddTitleInfoEntryToDB(PART_PATH, title_ids + vfile->offset * 8, (TitleInfoEntry*)(void*)cached_entry, true)) != 0) { if (resize) vfile->size = tick_info[vfile->offset].size; + if (is_tickdb) { + free(cached_entry); + cached_entry = NULL; + } + cache_index = -1; return 1; }