about summary refs log tree commit diff
path: root/nptl/pthread_getattr_default_np.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2020-05-15 21:24:59 +0200
committerFlorian Weimer <fweimer@redhat.com>2020-05-20 20:29:10 +0200
commitcea81e2b7e441663539d196c18bb2568e3e2fae8 (patch)
tree6da96a605219ff90e7026b36a7c87acaef63492a /nptl/pthread_getattr_default_np.c
parent331c6e8a184167dd21a9f0b3fc165aeefea6eeca (diff)
downloadglibc-cea81e2b7e441663539d196c18bb2568e3e2fae8.tar.gz
glibc-cea81e2b7e441663539d196c18bb2568e3e2fae8.tar.xz
glibc-cea81e2b7e441663539d196c18bb2568e3e2fae8.zip
nptl: Use __pthread_attr_copy in pthread_getattr_default_np (bug 25999)
pthread_getattr_default_np needs to make a deep copy.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'nptl/pthread_getattr_default_np.c')
-rw-r--r--nptl/pthread_getattr_default_np.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/nptl/pthread_getattr_default_np.c b/nptl/pthread_getattr_default_np.c
index cce20cbe94..a9665c5df7 100644
--- a/nptl/pthread_getattr_default_np.c
+++ b/nptl/pthread_getattr_default_np.c
@@ -16,20 +16,14 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#include <errno.h>
-#include <stdlib.h>
 #include <pthreadP.h>
 
 int
 pthread_getattr_default_np (pthread_attr_t *out)
 {
-  struct pthread_attr *real_out;
-
-  real_out = (struct pthread_attr *) out;
-
   lll_lock (__default_pthread_attr_lock, LLL_PRIVATE);
-  *real_out = __default_pthread_attr;
+  int ret = __pthread_attr_copy (out,
+                                 (pthread_attr_t *) &__default_pthread_attr);
   lll_unlock (__default_pthread_attr_lock, LLL_PRIVATE);
-
-  return 0;
+  return ret;
 }