Introduce fatal_error
This commit is contained in:
@@ -47,8 +47,7 @@ ini1_header_t *stratosphere_get_ini1(uint32_t target_firmware) {
|
||||
g_stratosphere_ini1 = (ini1_header_t *)malloc(size);
|
||||
|
||||
if (g_stratosphere_ini1 != NULL) {
|
||||
printf("Error: stratosphere_get_ini1: out of memory!\n");
|
||||
generic_panic();
|
||||
fatal_error("stratosphere_get_ini1: out of memory!\n");
|
||||
}
|
||||
|
||||
g_stratosphere_ini1->magic = MAGIC_INI1;
|
||||
@@ -87,24 +86,21 @@ ini1_header_t *stratosphere_merge_inis(ini1_header_t **inis, size_t num_inis) {
|
||||
/* Validate all ini headers. */
|
||||
for (size_t i = 0; i < num_inis; i++) {
|
||||
if (inis[i] == NULL || inis[i]->magic != MAGIC_INI1 || inis[i]->num_processes > INI1_MAX_KIPS) {
|
||||
printf("Error: INI1s[%d] section appears to not contain an INI1!\n", i);
|
||||
generic_panic();
|
||||
fatal_error("INI1s[%d] section appears to not contain an INI1!\n", i);
|
||||
} else {
|
||||
total_num_processes += inis[i]->num_processes;
|
||||
}
|
||||
}
|
||||
|
||||
if (total_num_processes > INI1_MAX_KIPS) {
|
||||
printf("Error: The resulting INI1 would have too many KIPs!\n");
|
||||
generic_panic();
|
||||
fatal_error("The resulting INI1 would have too many KIPs!\n");
|
||||
}
|
||||
|
||||
uint64_t process_list[INI1_MAX_KIPS] = {0};
|
||||
ini1_header_t *merged = (ini1_header_t *)malloc(PACKAGE2_SIZE_MAX); /* because of SD file overrides */
|
||||
|
||||
if (merged == NULL) {
|
||||
printf("Error: stratosphere_merge_inis: out of memory!\n");
|
||||
generic_panic();
|
||||
fatal_error("stratosphere_merge_inis: out of memory!\n");
|
||||
}
|
||||
|
||||
merged->magic = MAGIC_INI1;
|
||||
@@ -121,8 +117,7 @@ ini1_header_t *stratosphere_merge_inis(ini1_header_t **inis, size_t num_inis) {
|
||||
for (size_t p = 0; p < (size_t)inis[i]->num_processes; p++) {
|
||||
kip1_header_t *current_kip = (kip1_header_t *)(inis[i]->kip_data + offset);
|
||||
if (current_kip->magic != MAGIC_KIP1) {
|
||||
printf("Error: INI1s[%zu][%zu] appears not to be a KIP1!\n", i, p);
|
||||
generic_panic();
|
||||
fatal_error("INI1s[%zu][%zu] appears not to be a KIP1!\n", i, p);
|
||||
}
|
||||
|
||||
bool already_loaded = false;
|
||||
@@ -144,11 +139,9 @@ ini1_header_t *stratosphere_merge_inis(ini1_header_t **inis, size_t num_inis) {
|
||||
if (read_size != 0) {
|
||||
kip1_header_t *sd_kip = (kip1_header_t *)(current_dst_kip);
|
||||
if (read_size < sizeof(kip1_header_t) || sd_kip->magic != MAGIC_KIP1) {
|
||||
printf("Error: %s is not a KIP1?\n", sd_path);
|
||||
generic_panic();
|
||||
fatal_error("%s is not a KIP1?\n", sd_path);
|
||||
} else if (sd_kip->title_id != current_kip->title_id) {
|
||||
printf("Error: %s has wrong Title ID!\n", sd_path);
|
||||
generic_panic();
|
||||
fatal_error("%s has wrong Title ID!\n", sd_path);
|
||||
}
|
||||
size_t expected_sd_kip_size = kip1_get_size_from_header(sd_kip);
|
||||
if (expected_sd_kip_size != read_size) {
|
||||
@@ -161,8 +154,7 @@ ini1_header_t *stratosphere_merge_inis(ini1_header_t **inis, size_t num_inis) {
|
||||
} else {
|
||||
size_t current_kip_size = kip1_get_size_from_header(current_kip);
|
||||
if (current_kip_size > remaining_size) {
|
||||
printf("Error: Not enough space for all the KIP1s!\n");
|
||||
generic_panic();
|
||||
fatal_error("Not enough space for all the KIP1s!\n");
|
||||
}
|
||||
memcpy(current_dst_kip, current_kip, current_kip_size);
|
||||
remaining_size -= current_kip_size;
|
||||
|
||||
Reference in New Issue
Block a user