Use O_CLOEXEC in a few more places

This commit is contained in:
Ulrich Drepper 2011-11-15 14:00:58 -05:00
parent 116415f80e
commit d62a8200e1
3 changed files with 13 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2011-11-15 Ulrich Drepper <drepper@gmail.com>
* locale/loadarchive.c (_nl_load_locale_from_archive): Open files to
O_CLOEXEC.
* locale/loadlocale.c (_nl_load_locale): Likewise.
2011-11-15 Andreas Schwab <schwab@redhat.com>
* sysdeps/unix/sysv/linux/clock_gettime.c (SYSDEP_GETTIME_CPU)

View File

@ -1,5 +1,5 @@
/* Code to load locale data from the locale archive file.
Copyright (C) 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2005, 2010, 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
@ -203,7 +203,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
archmapped = &headmap;
/* The archive has never been opened. */
fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE);
fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
if (fd < 0)
/* Cannot open the archive, for whatever reason. */
return NULL;
@ -394,7 +394,8 @@ _nl_load_locale_from_archive (int category, const char **namep)
if (fd == -1)
{
struct stat64 st;
fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE);
fd = open_not_cancel_2 (archfname,
O_RDONLY|O_LARGEFILE|O_CLOEXEC);
if (fd == -1)
/* Cannot open the archive, for whatever reason. */
return NULL;

View File

@ -1,5 +1,5 @@
/* Functions to read locale data files.
Copyright (C) 1996-2004, 2005, 2006, 2010 Free Software Foundation, Inc.
Copyright (C) 1996-2004, 2005, 2006, 2010, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@ -173,7 +173,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
file->decided = 1;
file->data = NULL;
fd = open_not_cancel_2 (file->filename, O_RDONLY);
fd = open_not_cancel_2 (file->filename, O_RDONLY | O_CLOEXEC);
if (__builtin_expect (fd, 0) < 0)
/* Cannot open the file. */
return;
@ -201,7 +201,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
_nl_category_names.str + _nl_category_name_idxs[category],
_nl_category_name_sizes[category] + 1);
fd = open_not_cancel_2 (newp, O_RDONLY);
fd = open_not_cancel_2 (newp, O_RDONLY | O_CLOEXEC);
if (__builtin_expect (fd, 0) < 0)
return;