From: Ulrich Drepper Date: Sun, 15 May 2011 13:40:30 +0000 (-0400) Subject: Use non-cancelable interfaces in setup code X-Git-Tag: glibc-2.14~80 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=05f399e63428b5129ca54f9edefbf2876f82b75c;p=thirdparty%2Fglibc.git Use non-cancelable interfaces in setup code --- diff --git a/ChangeLog b/ChangeLog index f9ab6dbb1b4..ed1754db233 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-05-15 Ulrich Drepper + * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard): + Use non-cancelable interfaces. + [BZ #9809] * locale/iso-639.def: Add entry for Sorani. diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h index df07869bc5d..ffe5d586b50 100644 --- a/sysdeps/unix/sysv/linux/dl-osinfo.h +++ b/sysdeps/unix/sysv/linux/dl-osinfo.h @@ -1,5 +1,5 @@ /* Operating system specific code for generic dynamic loader functions. Linux. - Copyright (C) 2000-2002,2004-2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2000-2002,2004-2009,2011 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,6 +21,7 @@ #include #include #include +#include #ifndef MIN # define MIN(a,b) (((a)<(b))?(a):(b)) @@ -67,11 +68,11 @@ _dl_setup_stack_chk_guard (void *dl_random) if (__builtin_expect (dl_random == NULL, 0)) { # ifdef ENABLE_STACKGUARD_RANDOMIZE - int fd = __open ("/dev/urandom", O_RDONLY); + int fd = open_not_cancel_2 ("/dev/urandom", O_RDONLY); if (fd >= 0) { - ssize_t reslen = __read (fd, &ret, sizeof (ret)); - __close (fd); + ssize_t reslen = read_not_cancel (fd, &ret, sizeof (ret)); + close_not_cancel_no_status (fd); if (reslen == (ssize_t) sizeof (ret)) return ret; }