fix dumping official body and bgm, and double free

fixes #268
This commit is contained in:
Théo B
2022-06-03 21:40:23 +02:00
committed by GitHub
parent e22d09ba54
commit 1ed6c46644

View File

@@ -505,6 +505,7 @@ Result dump_all_themes(void)
res = AMAPP_ListDLCContentInfos(&readcount, MEDIATYPE_SD, titleId, count, 0, contentInfos);
if(R_FAILED(res))
{
free(contentInfos);
break;
}
@@ -551,6 +552,8 @@ Result dump_all_themes(void)
FILE* fh = fopen(contentinfoarchive_path, "rb");
if(fh != NULL)
{
for(u32 i = 0; i < readcount; ++i)
{
if(i == 0) continue;
@@ -571,11 +574,6 @@ Result dump_all_themes(void)
if(R_FAILED(res))
{
DEBUG("theme open romfs error: %08lx\n", res);
fclose(fh);
free(contentInfos);
romfsUnmount("meta");
FSUSER_CloseArchive(ncch_archive);
free(contentInfos);
break;
}
@@ -602,7 +600,7 @@ Result dump_all_themes(void)
{
fseek(theme_file, 0, SEEK_END);
long theme_size = ftell(theme_file);
fseek(theme_file, 0, SEEK_CUR);
fseek(theme_file, 0, SEEK_SET);
char* theme_data = malloc(theme_size);
fread(theme_data, 1, theme_size, theme_file);
fclose(theme_file);
@@ -619,7 +617,7 @@ Result dump_all_themes(void)
{
fseek(bgm_file, 0, SEEK_END);
long bgm_size = ftell(bgm_file);
fseek(bgm_file, 0, SEEK_CUR);
fseek(bgm_file, 0, SEEK_SET);
char* bgm_data = malloc(bgm_size);
fread(bgm_data, 1, bgm_size, bgm_file);
fclose(bgm_file);
@@ -646,6 +644,7 @@ Result dump_all_themes(void)
fclose(fh);
fh = NULL;
}
free(contentInfos);
contentInfos = NULL;