aboutsummaryrefslogtreecommitdiff
path: root/src/regions.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-11-02 16:34:38 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2024-11-02 16:34:38 +0200
commit17fd9daf39cf79ae310c1b7d0eb459802517dc6a (patch)
tree1f9061bc489289769d134e97efea805cbf1bf29a /src/regions.c
parent010152de4f19fcb4f1b627123aa27f08deb13e72 (diff)
downloadkmi-17fd9daf39cf79ae310c1b7d0eb459802517dc6a.tar.gz
kmi-17fd9daf39cf79ae310c1b7d0eb459802517dc6a.zip
check spawn exhaustion
Diffstat (limited to 'src/regions.c')
-rw-r--r--src/regions.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/regions.c b/src/regions.c
index 2c11db0..163ec82 100644
--- a/src/regions.c
+++ b/src/regions.c
@@ -35,6 +35,9 @@ void destroy_mem_nodes()
static struct mem_region *get_mem_node()
{
struct mem_region *r = get_node(&root);
+ if (!r)
+ return NULL;
+
memset(r, 0, sizeof(struct mem_region));
return r;
}
@@ -178,6 +181,9 @@ stat_t init_region(struct mem_region_root *r, vm_t start, size_t arena_size,
start = __page(start);
arena_size = __page(arena_size);
struct mem_region *m = get_mem_node();
+ if (!m)
+ return ERR_OOMEM;
+
m->start = start;
m->end = start + arena_size;
m->flags = 0;