about summary refs log tree commit diff
path: root/elf/dl-load.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-06-09 22:02:59 +0000
committerRoland McGrath <roland@gnu.org>1996-06-09 22:02:59 +0000
commit6d9756c910a07bb353af4d6908f88c1ddea15916 (patch)
tree772439fa7e24f4af9a9917a3c961108a246e96fe /elf/dl-load.c
parent9dd2fc5d87269219f3beb91462505b93ed24a552 (diff)
downloadglibc-6d9756c910a07bb353af4d6908f88c1ddea15916.tar.gz
glibc-6d9756c910a07bb353af4d6908f88c1ddea15916.tar.xz
glibc-6d9756c910a07bb353af4d6908f88c1ddea15916.zip
* elf/dl-load.c (_dl_map_object_from_fd): Close FD before return. cvs/libc-960610
	* sysdeps/mach/mprotect.c: Define with __ name and weak alias.
	* sysdeps/stub/mprotect.c: Likewise.
	* sysdeps/unix/mman/syscalls.list (mprotect): Likewise.
	* sysdeps/generic/sys/mman.h: Declare __mprotect.
	* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
Diffstat (limited to 'elf/dl-load.c')
-rw-r--r--elf/dl-load.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 1625d3cf5b..8103c7af2a 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -430,6 +430,9 @@ _dl_map_object_from_fd (const char *name, int fd, char *realname)
       }
   }
 
+  /* We are done mapping in the file.  We no longer need the descriptor.  */
+  __close (fd);
+
   l->l_type = type == ET_EXEC ? lt_executable : lt_library;
 
   if (l->l_ld == 0)