From 5fe7c7e7e18637a1add3c31331f91f55ce7ee679 Mon Sep 17 00:00:00 2001 From: Aurora Date: Mon, 26 Sep 2016 13:03:39 +0200 Subject: [PATCH] Up the maximum custom path size to 55 characters from 37 --- haxloader/diffs/1.diff | 4 ++-- haxloader/source/main.c | 4 ++-- patches/reboot.s | 2 +- source/patches.c | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/haxloader/diffs/1.diff b/haxloader/diffs/1.diff index dcbddb1..62f07e9 100644 --- a/haxloader/diffs/1.diff +++ b/haxloader/diffs/1.diff @@ -49,7 +49,7 @@ diff -uNr a/source/brahma.c b/source/brahma.c + if (p) { + fseek(p , 0, SEEK_END); + psize = ftell(p); -+ if (psize > 5 && psize < 40) { ++ if (psize > 5 && psize < 58) { + char path[psize + 1]; + + fseek(p, 0, SEEK_SET); @@ -58,7 +58,7 @@ diff -uNr a/source/brahma.c b/source/brahma.c + if (bytes_read == psize) { + if (path[psize - 1] == 0xA) psize--; + if (path[psize - 1] == 0xD) psize--; -+ if (psize > 5 && psize < 38 && path[0] == '/' && memcmp(&path[psize - 4], ".bin", 4)) { ++ if (psize > 5 && psize < 56 && path[0] == '/' && memcmp(&path[psize - 4], ".bin", 4)) { + path[psize] = 0; + f = fopen(path, "rb"); + use_default = false; diff --git a/haxloader/source/main.c b/haxloader/source/main.c index d1d1c15..a8de381 100644 --- a/haxloader/source/main.c +++ b/haxloader/source/main.c @@ -41,7 +41,7 @@ void main(void) { u32 pathSize = f_size(&pathFile); - if(pathSize > 5 && pathSize < 40) + if(pathSize > 5 && pathSize < 58) { char path[pathSize + 1]; unsigned int read; @@ -49,7 +49,7 @@ void main(void) if(path[pathSize - 1] == 0xA) pathSize--; if(path[pathSize - 1] == 0xD) pathSize--; - if(pathSize > 5 && pathSize < 38 && path[0] == '/' && memcmp(&path[pathSize - 4], ".bin", 4) == 0) + if(pathSize > 5 && pathSize < 56 && path[0] == '/' && memcmp(&path[pathSize - 4], ".bin", 4) == 0) { path[pathSize] = 0; foundPayload = f_open(&payload, path, FA_READ) == FR_OK; diff --git a/patches/reboot.s b/patches/reboot.s index e22a8c6..aac1b99 100644 --- a/patches/reboot.s +++ b/patches/reboot.s @@ -72,7 +72,7 @@ bytes_read: .word 0 fopen: .ascii "OPEN" .pool fname: .dcw "sdmc:/arm9loaderhax.bin" - .word 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + .word 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 .align 4 kernelcode_start: diff --git a/source/patches.c b/source/patches.c index 4a427ee..37003e7 100644 --- a/source/patches.c +++ b/source/patches.c @@ -97,14 +97,14 @@ void patchFirmlaunches(u8 *pos, u32 size, u32 process9MemAddr) u32 pathSize = getFileSize(pathPath); - if(pathSize > 5 && pathSize < 40) + if(pathSize > 5 && pathSize < 58) { u8 path[pathSize]; fileRead(path, pathPath, 0); if(path[pathSize - 1] == 0xA) pathSize--; if(path[pathSize - 1] == 0xD) pathSize--; - if(pathSize > 5 && pathSize < 38 && path[0] == '/' && memcmp(&path[pathSize - 4], ".bin", 4) == 0) + if(pathSize > 5 && pathSize < 56 && path[0] == '/' && memcmp(&path[pathSize - 4], ".bin", 4) == 0) { u16 finalPath[pathSize + 1]; for(u32 i = 0; i < pathSize; i++)