fix out-of-bounds array access in pthread barriers on 64-bit
authorRich Felker <dalias@aerifal.cx>
Tue, 22 May 2012 02:51:30 +0000 (22:51 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 22 May 2012 02:51:30 +0000 (22:51 -0400)
it's ok to overlap with integer slot 3 on 32-bit because only slots
0-2 are used on process-local barriers.

src/internal/pthread_impl.h

index 5c1b20691003223ebe041d6a2ed73501c83ad68a..2348b5daec8993cd3491681634bb1fb371840050 100644 (file)
@@ -83,7 +83,7 @@ struct __timer {
 #define _b_limit __u.__i[2]
 #define _b_count __u.__i[3]
 #define _b_waiters2 __u.__i[4]
-#define _b_inst __u.__p[4]
+#define _b_inst __u.__p[3]
 
 #include "pthread_arch.h"