Module Name:    src
Committed By:   kamil
Date:           Sun Nov 20 03:53:47 UTC 2016

Modified Files:
        src/lib/libpthread_dbg: pthread_dbg.c

Log Message:
Fix pt_magic read in td_map_pth2thr()

The pt_magic field is not the first one in the pthread_t structure.

Sponsored by <The NetBSD Foundation>


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 src/lib/libpthread_dbg/pthread_dbg.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_dbg/pthread_dbg.c
diff -u src/lib/libpthread_dbg/pthread_dbg.c:1.46 src/lib/libpthread_dbg/pthread_dbg.c:1.47
--- src/lib/libpthread_dbg/pthread_dbg.c:1.46	Sun Nov 20 03:11:32 2016
+++ src/lib/libpthread_dbg/pthread_dbg.c	Sun Nov 20 03:53:47 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: pthread_dbg.c,v 1.46 2016/11/20 03:11:32 kamil Exp $	*/
+/*	$NetBSD: pthread_dbg.c,v 1.47 2016/11/20 03:53:47 kamil Exp $	*/
 
 /*-
  * Copyright (c) 2002 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: pthread_dbg.c,v 1.46 2016/11/20 03:11:32 kamil Exp $");
+__RCSID("$NetBSD: pthread_dbg.c,v 1.47 2016/11/20 03:53:47 kamil Exp $");
 
 #define __EXPOSE_STACK 1
 
@@ -342,7 +342,9 @@ td_map_pth2thr(td_proc_t *proc, pthread_
 {
 	int magic, val;
 
-	val = READ(proc, (void *)thread, &magic, sizeof(magic));
+	val = READ(proc,
+	    (char *)thread + offsetof(struct __pthread_st, pt_magic),
+	    &magic, sizeof(magic));
 	if (val != 0)
 		return val;
 

Reply via email to