about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--nss/nss_files/files-init.c9
2 files changed, 14 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 4b41c6ddca..9a54ec7b5d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-04-23  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* nss/nss_files/files-init.c (TF): Don't initialize flexible array
+	member.
+	(_nss_files_init): Set it here.
+
 2013-04-23  Heiko Carstens  <heiko.carstens@de.ibm.com>
 
 	* sysdeps/unix/sysv/linux/s390/bits/statfs.h: Change types of
diff --git a/nss/nss_files/files-init.c b/nss/nss_files/files-init.c
index 8aac3fb08c..a34c49a99f 100644
--- a/nss/nss_files/files-init.c
+++ b/nss/nss_files/files-init.c
@@ -18,6 +18,7 @@
 
 #ifdef USE_NSCD
 
+#include <string.h>
 #include <nscd/nscd.h>
 
 
@@ -30,7 +31,7 @@ static union							\
   {								\
     .file =							\
     {								\
-      .fname = filename, ## __VA_ARGS__				\
+      __VA_ARGS__						\
     }								\
   }
 
@@ -45,16 +46,22 @@ TF (netgr, "/etc/netgroup");
 void
 _nss_files_init (void (*cb) (size_t, struct traced_file *))
 {
+  strcpy (pwd_traced_file.file.fname, "/etc/passwd");
   cb (pwddb, &pwd_traced_file.file);
 
+  strcpy (grp_traced_file.file.fname, "/etc/group");
   cb (grpdb, &grp_traced_file.file);
 
+  strcpy (hst_traced_file.file.fname, "/etc/hosts");
   cb (hstdb, &hst_traced_file.file);
 
+  strcpy (resolv_traced_file.file.fname, "/etc/resolv.conf");
   cb (hstdb, &resolv_traced_file.file);
 
+  strcpy (serv_traced_file.file.fname, "/etc/services");
   cb (servdb, &serv_traced_file.file);
 
+  strcpy (netgr_traced_file.file.fname, "/etc/netgroup");
   cb (netgrdb, &netgr_traced_file.file);
 }