From 6e63fdf4bfb866ca8068bde68f79e888ca26ab97 Mon Sep 17 00:00:00 2001 From: aspargas2 Date: Wed, 10 Jun 2020 03:52:43 -0400 Subject: [PATCH] avoid malloc(0) in vbdri --- arm9/source/virtual/vbdri.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arm9/source/virtual/vbdri.c b/arm9/source/virtual/vbdri.c index 7575146..fa7ed74 100644 --- a/arm9/source/virtual/vbdri.c +++ b/arm9/source/virtual/vbdri.c @@ -59,7 +59,7 @@ u64 InitVBDRIDrive(void) { // prerequisite: .db file mounted as virtual diff ima DeinitVBDRIDrive(); - num_entries = min(is_tickdb ? GetNumTickets(PART_PATH) : GetNumTitleInfoEntries(PART_PATH), VBDRI_MAX_ENTRIES); + num_entries = min((is_tickdb ? GetNumTickets(PART_PATH) : GetNumTitleInfoEntries(PART_PATH)) + 1, VBDRI_MAX_ENTRIES); title_ids = (u8*) malloc(num_entries * 8); if (!title_ids || ((is_tickdb ? ListTicketTitleIDs(PART_PATH, title_ids, num_entries) : ListTitleInfoEntryTitleIDs(PART_PATH, title_ids, num_entries)) != 0)) { @@ -74,7 +74,7 @@ u64 InitVBDRIDrive(void) { // prerequisite: .db file mounted as virtual diff ima return 0; } - for (u32 i = 0; i < num_entries; i++) { + for (u32 i = 0; i < num_entries - 1; i++) { Ticket* ticket; if (ReadTicketFromDB(PART_PATH, title_ids + (i * 8), &ticket) != 0) { DeinitVBDRIDrive();