if (!memcmp(firm->magic, "FIRM", 4) && memcmp(firm->magic + 4, "DEC", 3)) {
if (sig->console == console_n3ds) {
if (dec_k9l(firm)) {
- free(firm);
free(mem);
return NULL;
}
patch_entry(firm, sig->type);
if (sig->type == type_native && patch_section_keys(firm, sig->k9l)) {
- free(firm);
free(mem);
return NULL;
}
return NULL;
}
- firm_h* dest = memalign(16, size);
+ memmove(ncch, firm, size);
- memcpy(dest, firm, size);
-
- return dest;
+ return (firm_h*)ncch;
}
uint8_t* key_search(uint8_t* mem, uint32_t size, uint8_t* sha256, uint8_t byte) {