Handle ENOMEM during fork()
Reported-by: syzbot+638411bd4594d01e2d70@syzkaller.appspotmail.com
Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
diff --git a/kern/src/syscall.c b/kern/src/syscall.c
index 43164ec..efda04f 100644
--- a/kern/src/syscall.c
+++ b/kern/src/syscall.c
@@ -895,8 +895,10 @@
env_t* env;
ret = proc_alloc(&env, current, PROC_DUP_FGRP);
- assert(!ret);
- assert(env != NULL);
+ if (ret < 0) {
+ set_errno(-ret);
+ return -1;
+ }
proc_set_progname(env, e->progname);
/* Can't really fork if we don't have a current_ctx to fork */