about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-09-08 00:00:01 -0400
committerUlrich Drepper <drepper@gmail.com>2011-09-08 00:00:01 -0400
commitb49865be8e798e567a23c01f188546aef514ba06 (patch)
tree0bf08a116b94b619107c573aa77fb337ce21140a
parentfdc86bc9a83c23b08b8f6d4b53df2f56e15f3e85 (diff)
downloadglibc-b49865be8e798e567a23c01f188546aef514ba06.tar.gz
glibc-b49865be8e798e567a23c01f188546aef514ba06.tar.xz
glibc-b49865be8e798e567a23c01f188546aef514ba06.zip
Use O_CLOEXEC when loading objects in ld.so
-rw-r--r--ChangeLog2
-rw-r--r--elf/dl-load.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 0d2580d5b9..94d502ac6f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2011-09-07  Ulrich Drepper  <drepper@gmail.com>
 
+	* elf/dl-load.c (open_verify): Use O_CLOEXEC.
+
 	* elf/dl-libc.c (dlerror_run): Pass back error code from
 	dl_catch_error.
 
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 7d7008dd75..e8d0401f24 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -1706,7 +1706,7 @@ open_verify (const char *name, struct filebuf *fbp, struct link_map *loader,
 #endif
 
   /* Open the file.  We always open files read-only.  */
-  int fd = __open (name, O_RDONLY);
+  int fd = __open (name, O_RDONLY | O_CLOEXEC);
   if (fd != -1)
     {
       ElfW(Ehdr) *ehdr;