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 */