From: Ulrich Drepper Date: Sun, 26 Apr 2009 16:45:03 +0000 (+0000) Subject: * nss/nsswitch.c (__nss_lookup_function): En/Decrypt cached X-Git-Tag: upstream/2.20~6652 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4ec77f72fe0978027fb3f35eb0eb0078f24f4b2b;p=platform%2Fupstream%2Flinaro-glibc.git * nss/nsswitch.c (__nss_lookup_function): En/Decrypt cached function pointers. --- diff --git a/ChangeLog b/ChangeLog index d042ed1..22c8a2c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-04-26 Ulrich Drepper + + * nss/nsswitch.c (__nss_lookup_function): En/Decrypt cached + function pointers. + 2009-04-26 Jakub Jelinek * sysdeps/ieee754/dbl-64/s_tan.c (tan): Fix -Wsequence-point warnings. diff --git a/nss/nsswitch.c b/nss/nsswitch.c index c0b661f..da94ca9 100644 --- a/nss/nsswitch.c +++ b/nss/nsswitch.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-1999, 2001-2006, 2007 Free Software Foundation, Inc. +/* Copyright (C) 1996-1999, 2001-2007, 2009 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -300,8 +300,11 @@ __nss_lookup_function (service_user *ni, const char *fct_name) found = __tsearch (&fct_name, &ni->known, &known_compare); if (*found != &fct_name) - /* The search found an existing structure in the tree. */ - result = ((known_function *) *found)->fct_ptr; + { + /* The search found an existing structure in the tree. */ + result = ((known_function *) *found)->fct_ptr; + PTR_DEMANGLE (result); + } else { /* This name was not known before. Now we have a node in the tree @@ -424,6 +427,7 @@ __nss_lookup_function (service_user *ni, const char *fct_name) /* Remember function pointer for later calls. Even if null, we record it so a second try needn't search the library again. */ known->fct_ptr = result; + PTR_MANGLE (known->fct_ptr); } }