aboutsummaryrefslogtreecommitdiff
path: root/nscd/nscd_helper.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2008-03-04 01:54:09 +0000
committerUlrich Drepper <drepper@redhat.com>2008-03-04 01:54:09 +0000
commit27c377dd04f40e4d0a7e11daad059939e94d9367 (patch)
tree25141dbca8580fbb71b210108fa57457830278d8 /nscd/nscd_helper.c
parent0f749099e991ef47514bd635225a89a9c0250b80 (diff)
downloadglibc-27c377dd04f40e4d0a7e11daad059939e94d9367.zip
glibc-27c377dd04f40e4d0a7e11daad059939e94d9367.tar.gz
glibc-27c377dd04f40e4d0a7e11daad059939e94d9367.tar.bz2
[BZ #5818]
* nscd/connections.c (dbs): Add initializers for .suggested_module. (verify_persistent_db): Remove one unnecessary test and add a new one for bad configuration. (nscd_init): Improve error reported when persistent database cannot be reused. * nscd/nscd.h (DEFAULT_SUGGESTED_MODULE): Define. * nscd/nscd_conf.c (nscd_parse_file): Provide default values for .suggested_module and .max_db_size and case config file says the values are zero. * nscd/nscd_helper.c (get_mapping): Fail if hash table module is zero.
Diffstat (limited to 'nscd/nscd_helper.c')
-rw-r--r--nscd/nscd_helper.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c
index 8665352..9828a46 100644
--- a/nscd/nscd_helper.c
+++ b/nscd/nscd_helper.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1998-2002,2003,2004,2005,2006,2007
- Free Software Foundation, Inc.
+/* Copyright (C) 1998-2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@@ -339,6 +338,9 @@ get_mapping (request_type type, const char *key,
if (__builtin_expect (head->version != DB_VERSION, 0)
|| __builtin_expect (head->header_size != sizeof (*head), 0)
+ /* Catch some misconfiguration. The server should catch
+ them now but some older versions did not. */
+ || __builtin_expect (head->module == 0, 0)
/* This really should not happen but who knows, maybe the update
thread got stuck. */
|| __builtin_expect (! head->nscd_certainly_running