Module Name: src Committed By: justin Date: Sat Nov 8 21:27:04 UTC 2014
Modified Files: src/lib/librumpuser: rumpfiber.c Log Message: Fix some error handling cases. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/lib/librumpuser/rumpfiber.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/librumpuser/rumpfiber.c diff -u src/lib/librumpuser/rumpfiber.c:1.5 src/lib/librumpuser/rumpfiber.c:1.6 --- src/lib/librumpuser/rumpfiber.c:1.5 Wed Nov 5 01:39:40 2014 +++ src/lib/librumpuser/rumpfiber.c Sat Nov 8 21:27:04 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpfiber.c,v 1.5 2014/11/05 01:39:40 pooka Exp $ */ +/* $NetBSD: rumpfiber.c,v 1.6 2014/11/08 21:27:04 justin Exp $ */ /* * Copyright (c) 2007-2013 Antti Kantee. All Rights Reserved. @@ -68,7 +68,7 @@ #include "rumpuser_port.h" #if !defined(lint) -__RCSID("$NetBSD: rumpfiber.c,v 1.5 2014/11/05 01:39:40 pooka Exp $"); +__RCSID("$NetBSD: rumpfiber.c,v 1.6 2014/11/08 21:27:04 justin Exp $"); #endif /* !lint */ #include <sys/ioctl.h> @@ -199,11 +199,16 @@ create_thread(const char *name, void *co { struct thread *thread = calloc(1, sizeof(struct thread)); + if (!thread) { + return NULL; + } + if (!stack) { assert(stack_size == 0); stack = mmap(NULL, STACKSIZE, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0); if (stack == MAP_FAILED) { + free(thread); return NULL; } stack_size = STACKSIZE;