From 379cea8db1bac5e73d33d5f3e519d68c4471623a Mon Sep 17 00:00:00 2001 From: saibotu Date: Wed, 6 Sep 2017 15:36:02 +0200 Subject: [PATCH] Fixed crash when installing themes without bgm --- source/themes.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/source/themes.c b/source/themes.c index 8f55907..3d78b7d 100644 --- a/source/themes.c +++ b/source/themes.c @@ -247,7 +247,6 @@ Result bgm_install(Theme_s bgm_to_install) if (music_size == 0) { - free(music); music = calloc(1, 3371008); } else if (music_size > 3371008) { free(music); @@ -255,7 +254,7 @@ Result bgm_install(Theme_s bgm_to_install) return MAKERESULT(RL_PERMANENT, RS_CANCELED, RM_APPLICATION, RD_TOO_LARGE); } - result = buf_to_file(music_size, "/BgmCache.bin", ArchiveThemeExt, music); + result = buf_to_file(music_size == 0 ? 3371008 : music_size, "/BgmCache.bin", ArchiveThemeExt, music); free(music); if (!R_SUCCEEDED(result)) return result; @@ -348,7 +347,6 @@ Result single_install(Theme_s theme_to_install) if (music_size == 0) { - free(music); music = calloc(1, 3371008); } else if (music_size > 3371008) { free(music); @@ -356,7 +354,7 @@ Result single_install(Theme_s theme_to_install) return MAKERESULT(RL_PERMANENT, RS_CANCELED, RM_APPLICATION, RD_TOO_LARGE); } - result = buf_to_file(music_size, "/BgmCache.bin", ArchiveThemeExt, music); + result = buf_to_file(music_size == 0 ? 3371008 : music_size, "/BgmCache.bin", ArchiveThemeExt, music); free(music); if (!R_SUCCEEDED(result)) return result;