From bf315f266fce429e7d5df22e0a7726c1dc36cfd3 Mon Sep 17 00:00:00 2001 From: MysterD Date: Wed, 13 Apr 2022 20:36:52 -0700 Subject: [PATCH] Fix memory corruption in sound init --- src/audio/heap.c | 1 + src/audio/load.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/audio/heap.c b/src/audio/heap.c index 95ec20ed3..38015ffe6 100644 --- a/src/audio/heap.c +++ b/src/audio/heap.c @@ -268,6 +268,7 @@ void *soundAlloc(struct SoundAllocPool *pool, u32 size) { u32 alignedSize = ALIGN16(size); if (pool == NULL || pool->cur == NULL) { + fprintf(stderr, "soundAlloc failed: pull was invalid\n"); return NULL; } diff --git a/src/audio/load.c b/src/audio/load.c index ba2ffbb8b..9ab07df84 100644 --- a/src/audio/load.c +++ b/src/audio/load.c @@ -1984,8 +1984,8 @@ void audio_init() { // Load bank sets for each sequence (assets/bank_sets.s) data = LOAD_DATA(gBankSetsData); - gAlBankSets = soundAlloc(&gAudioInitPool, 0x800); - audio_dma_copy_immediate((uintptr_t)data, gAlBankSets, 0x800); + gAlBankSets = soundAlloc(&gAudioInitPool, 160); + audio_dma_copy_immediate((uintptr_t)data, gAlBankSets, 160); init_sequence_players(); gAudioLoadLock = AUDIO_LOCK_NOT_LOADING;