diff --git a/source/fs/menus/filemenu.c b/source/fs/menus/filemenu.c index 644d1ff..063c8f4 100644 --- a/source/fs/menus/filemenu.c +++ b/source/fs/menus/filemenu.c @@ -130,7 +130,7 @@ void HexView(char *path, FSEntry_t entry){ hidRead(); gfx_clearscreen(); - print = malloc(2048); + print = calloc(2048, 1); if ((res = f_open(&in, filePath, FA_READ | FA_OPEN_EXISTING))){ DrawError(newErrCode(res)); @@ -146,7 +146,7 @@ void HexView(char *path, FSEntry_t entry){ } gfx_con_setpos(0, 31); - gfx_hexdump(offset * 32, print, size); + gfx_hexdump(offset * 32, print, ((size + 31) / 32) * 32); input = hidRead(); diff --git a/source/storage/emmcfile.c b/source/storage/emmcfile.c index bb7260c..218db89 100644 --- a/source/storage/emmcfile.c +++ b/source/storage/emmcfile.c @@ -171,7 +171,7 @@ ErrCode_t DumpOrWriteEmmcPart(const char *path, const char *part, u8 write, u8 f if (!system_part) return newErrCode(TE_ERR_PARTITION_NOT_FOUND); - if (isSystemPartCrypt(system_part)){ + if (isSystemPartCrypt(system_part) && TConf.keysDumped){ nx_emmc_bis_init(system_part); crypt = true; lba_start = 0; diff --git a/source/storage/gptmenu.c b/source/storage/gptmenu.c index d5d2474..9c9198e 100644 --- a/source/storage/gptmenu.c +++ b/source/storage/gptmenu.c @@ -108,18 +108,16 @@ void GptMenu(u8 MMCType){ } else if (entries[res].icon == 127){ unmountMMCPart(); - ErrCode_t err = mountMMCPart(entries[res].name); + ErrCode_t err = (TConf.keysDumped) ? mountMMCPart(entries[res].name) : newErrCode(TE_ERR_KEYDUMP_FAIL); if (err.err){ DrawError(err); } else { - if (TConf.keysDumped){ - if (TConf.curExplorerLoc > LOC_SD) - ResetCopyParams(); + if (TConf.curExplorerLoc > LOC_SD) + ResetCopyParams(); - TConf.curExplorerLoc = LOC_EMMC; - FileExplorer("bis:/"); - } + TConf.curExplorerLoc = LOC_EMMC; + FileExplorer("bis:/"); } } else {