diff options
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 5 | ||||
-rw-r--r-- | nptl/pthread_attr_getstack.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index d2a1e47..85f0c40 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,8 @@ +2013-04-19 Roland McGrath <roland@hack.frob.com> + + * pthread_attr_getstack.c: Fail with EINVAL if the stack address has + not been set. + 2013-04-11 Andreas Schwab <schwab@suse.de> * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S diff --git a/nptl/pthread_attr_getstack.c b/nptl/pthread_attr_getstack.c index 03907b7..696d8c0 100644 --- a/nptl/pthread_attr_getstack.c +++ b/nptl/pthread_attr_getstack.c @@ -31,6 +31,9 @@ __pthread_attr_getstack (attr, stackaddr, stacksize) assert (sizeof (*attr) >= sizeof (struct pthread_attr)); iattr = (struct pthread_attr *) attr; + if (!(iattr->flags & ATTR_FLAG_STACKADDR)) + return EINVAL; + /* Store the result. */ *stackaddr = (char *) iattr->stackaddr - iattr->stacksize; *stacksize = iattr->stacksize; |