about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--nscd/connections.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index df49905232..257d1e8254 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2009-01-28  Ulrich Drepper  <drepper@redhat.com>
 
+	* nscd/connections.c (nscd_init): If database file access be
+	opened check whether this is due to permission problems and bail
+	in that case.
+
 	[BZ #9741]
 	* nscd/mem.c (gc): Fix assignment of he_data in case malloc is used.
 	Reported by Jun'ichi Nomura <j-nomura@ce.jp.nec.com>.
diff --git a/nscd/connections.c b/nscd/connections.c
index dd934c1106..7e3a406185 100644
--- a/nscd/connections.c
+++ b/nscd/connections.c
@@ -1,5 +1,5 @@
 /* Inner loops of cache daemon.
-   Copyright (C) 1998-2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1998-2007, 2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -647,6 +647,9 @@ cannot create read-only descriptor for \"%s\"; no mmap"),
 		if (fd != -1)
 		  close (fd);
 	      }
+	    else if (errno == EACCES)
+	      error (EXIT_FAILURE, 0, _("cannot access '%s'"),
+		     dbs[cnt].db_filename);
 	  }
 
 	if (dbs[cnt].head == NULL)