2010-02-27 Aurelien Jarno <aurelien@aurel32.net>
* pthreadP.h(INVALID_TD_P, INVALID_NOT_TERMINATED_TD_P): detect
NULL pointers.
Gbp-Pq: Topic any
Gbp-Pq: Name submitted-nptl-invalid-td.patch
/* This will not catch all invalid descriptors but is better than
nothing. And if the test triggers the thread descriptor is
guaranteed to be invalid. */
-#define INVALID_TD_P(pd) __builtin_expect ((pd)->tid <= 0, 0)
-#define INVALID_NOT_TERMINATED_TD_P(pd) __builtin_expect ((pd)->tid < 0, 0)
+#define INVALID_TD_P(pd) __builtin_expect (!pd || ((pd)->tid <= 0), 0)
+#define INVALID_NOT_TERMINATED_TD_P(pd) __builtin_expect (!pd || ((pd)->tid < 0), 0)
extern void __pthread_unwind (__pthread_unwind_buf_t *__buf)
__cleanup_fct_attribute __attribute ((__noreturn__))