Module Name:    src
Committed By:   kamil
Date:           Wed Jan 29 16:34:09 UTC 2020

Modified Files:
        src/lib/libpthread: pthread_misc.c

Log Message:
Check thread->pt_magic with PT_MAGIC promptly


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/lib/libpthread/pthread_misc.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/libpthread/pthread_misc.c
diff -u src/lib/libpthread/pthread_misc.c:1.16 src/lib/libpthread/pthread_misc.c:1.17
--- src/lib/libpthread/pthread_misc.c:1.16	Mon Jan 13 18:22:56 2020
+++ src/lib/libpthread/pthread_misc.c	Wed Jan 29 16:34:09 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: pthread_misc.c,v 1.16 2020/01/13 18:22:56 ad Exp $	*/
+/*	$NetBSD: pthread_misc.c,v 1.17 2020/01/29 16:34:09 kamil Exp $	*/
 
 /*-
  * Copyright (c) 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: pthread_misc.c,v 1.16 2020/01/13 18:22:56 ad Exp $");
+__RCSID("$NetBSD: pthread_misc.c,v 1.17 2020/01/29 16:34:09 kamil Exp $");
 
 #include <errno.h>
 #include <string.h>
@@ -61,6 +61,9 @@ int
 pthread_getschedparam(pthread_t thread, int *policy, struct sched_param *param)
 {
 
+	pthread__error(EINVAL, "Invalid thread",
+	    thread->pt_magic == PT_MAGIC);
+
 	if (pthread__find(thread) != 0)
 		return ESRCH;
 
@@ -76,6 +79,9 @@ pthread_setschedparam(pthread_t thread, 
 {
 	struct sched_param sp;
 
+	pthread__error(EINVAL, "Invalid thread",
+	    thread->pt_magic == PT_MAGIC);
+
 	if (pthread__find(thread) != 0)
 		return ESRCH;
 
@@ -90,6 +96,9 @@ int
 pthread_getaffinity_np(pthread_t thread, size_t size, cpuset_t *cpuset)
 {
 
+	pthread__error(EINVAL, "Invalid thread",
+	    thread->pt_magic == PT_MAGIC);
+
 	if (pthread__find(thread) != 0)
 		return ESRCH;
 
@@ -103,6 +112,9 @@ int
 pthread_setaffinity_np(pthread_t thread, size_t size, cpuset_t *cpuset)
 {
 
+	pthread__error(EINVAL, "Invalid thread",
+	    thread->pt_magic == PT_MAGIC);
+
 	if (pthread__find(thread) != 0)
 		return ESRCH;
 
@@ -117,6 +129,9 @@ pthread_setschedprio(pthread_t thread, i
 {
 	struct sched_param sp;
 
+	pthread__error(EINVAL, "Invalid thread",
+	    thread->pt_magic == PT_MAGIC);
+
 	if (pthread__find(thread) != 0)
 		return ESRCH;
 
@@ -131,6 +146,9 @@ int
 pthread_kill(pthread_t thread, int sig)
 {
 
+	pthread__error(EINVAL, "Invalid thread",
+	    thread->pt_magic == PT_MAGIC);
+
 	if ((sig < 0) || (sig >= _NSIG))
 		return EINVAL;
 	if (pthread__find(thread) != 0)

Reply via email to