This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi! If __libc_dlopen of some NSS module fails, lib_handle is set to (void *) -1l, which certainly is not something we should pass to __libc_dlclose. Similarly, __libc_dlopen doesn't like NULL to be passed to it either, which can happen e.g. with --enable-static-nss, not sure if in other cases too. 2004-06-14 Jakub Jelinek <jakub@redhat.com> [BZ #219] * nss/nsswitch.c (free_mem) : Don't try to close a library handle if the handle is invalid. Patch by David Kimdon <kimdon@esrf.fr>. --- libc/nss/nsswitch.c.jj 2003-09-14 20:13:41.000000000 +0200 +++ libc/nss/nsswitch.c 2004-06-14 15:31:33.499653270 +0200 @@ -1,4 +1,5 @@ -/* Copyright (C) 1996-1999,2001,2002,2003 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -749,7 +750,8 @@ libc_freeres_fn (free_mem) { service_library *oldl = library; - __libc_dlclose (library->lib_handle); + if (library->lib_handle && library->lib_handle != (void *) -1l) + __libc_dlclose (library->lib_handle); library = library->next; free (oldl); Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |