shithub: dav1d

Download patch

ref: c3c49fcd05049a0f89f84ed1a8ce3c7267ef8a8f
parent: 5806e1a6275b3d1211b2f05d15dddbd4f7f15b1c
author: Sigrid Haflínudóttir <ftrvxmtrx@gmail.com>
date: Mon Sep 21 11:38:14 EDT 2020

pthread_create: make sure attr isn't nil

--- a/src/plan9_thread.c
+++ b/src/plan9_thread.c
@@ -28,10 +28,13 @@
 int
 pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*func)(void*), void *arg)
 {
+	int stacksz = attr == nil ? 0 : attr->stack_size;
+	if(stacksz < 65536)
+		stacksz = 65536;
 	thread->waitchan = chancreate(sizeof(void*), 0);
 	thread->func = func;
 	thread->arg = arg;
-	thread->pid = proccreate(thre, thread, attr->stack_size);
+	thread->pid = proccreate(thre, thread, stacksz);
 
 	return 0;
 }