From 9b293939307de64fc70bf5b831e98c98f45d3051 Mon Sep 17 00:00:00 2001 From: Sparchatus Date: Thu, 28 Apr 2022 17:25:18 +0000 Subject: [PATCH] Small quality of life improvements --- lib/aos/paging.c | 2 +- lib/spawn/multiboot.c | 4 ++-- lib/spawn/spawn.c | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/aos/paging.c b/lib/aos/paging.c index 68d3d14..2a63f53 100644 --- a/lib/aos/paging.c +++ b/lib/aos/paging.c @@ -773,7 +773,7 @@ errval_t paging_map_frame_attr(struct paging_state *st, void **buf, size_t bytes static errval_t _paging_map_fixed_attr(struct paging_state *st, lvaddr_t vaddr, struct capref frame, size_t bytes, int flags) { - errval_t err; + errval_t err; /* * (M1): * - Map a frame assuming all mappings will fit into one leaf page table (L3) diff --git a/lib/spawn/multiboot.c b/lib/spawn/multiboot.c index 063657d..ddfb2bf 100644 --- a/lib/spawn/multiboot.c +++ b/lib/spawn/multiboot.c @@ -57,8 +57,8 @@ const char *multiboot_module_rawstring(struct mem_region *region) VREGION_FLAGS_READ); if (err_is_fail(err)) { - DEBUG_ERR(err, "vspace_map failed"); - return NULL; + // this error causes cascading problems so we panic + USER_PANIC_ERR(err, "vspace_map failed"); } #if 0 printf("Mapped multiboot_strings at %p\n", multiboot_strings); diff --git a/lib/spawn/spawn.c b/lib/spawn/spawn.c index 14b6cff..cfa2dd5 100644 --- a/lib/spawn/spawn.c +++ b/lib/spawn/spawn.c @@ -684,6 +684,7 @@ errval_t spawn_load_by_name(char *binary_name, struct spawninfo * si, // - Fill in argc/argv from the multiboot command line const char * c_arguments_str = multiboot_module_opts(module); + if(c_arguments_str == NULL) return SPAWN_ERR_MALFORMED_SPAWND_RECORD; // printf("c_arguments_str: %s\n", c_arguments_str); char raw_arguments_str[strlen(c_arguments_str)]; strcpy(raw_arguments_str, c_arguments_str);