GNU C Library master sources branch, master, updated. glibc-2.14-178-g8de79a2

drepper@sourceware.org drepper@sourceware.org
Wed Aug 17 14:33:00 GMT 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  8de79a248cc1a4148e1e826ed416bb6faee4857b (commit)
      from  c5305d88c7dc519edfaf55eed8d026a9038d7978 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8de79a248cc1a4148e1e826ed416bb6faee4857b

commit 8de79a248cc1a4148e1e826ed416bb6faee4857b
Author: Andreas Schwab <schwab@redhat.com>
Date:   Wed Aug 17 10:32:59 2011 -0400

    Avoid executable stack in makedb

diff --git a/ChangeLog b/ChangeLog
index 6aa670d..189424c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-08-17  Andreas Schwab  <schwab@redhat.com>
+
+	* nss/makedb.c (compute_tables): Make variables used in nested
+	function static.
+
 2011-08-17  Ulrich Drepper  <drepper@gmail.com>
 
 	* elf/pldd-xx.c (r_debug): Explicitly add padding when needed.
diff --git a/nss/makedb.c b/nss/makedb.c
index 8bbebc5..8cee92f 100644
--- a/nss/makedb.c
+++ b/nss/makedb.c
@@ -619,7 +619,8 @@ compute_tables (void)
     valstrtab[valstrlen++] = '\0';
   twalk (valstrtree, copy_valstr);
 
-  for (struct database *db = databases; db != NULL; db = db->next)
+  static struct database *db;
+  for (db = databases; db != NULL; db = db->next)
     if (db->nentries != 0)
       {
 	++ndatabases;
@@ -640,10 +641,10 @@ compute_tables (void)
 	db->keyidxtab = db->hashtable + nhashentries_max;
 	db->keystrtab = (char *) (db->keyidxtab + nhashentries_max);
 
-	size_t max_chainlength;
-	char *wp;
-	size_t nhashentries;
-	bool copy_string = false;
+	static size_t max_chainlength;
+	static char *wp;
+	static size_t nhashentries;
+	static bool copy_string;
 
 	void add_key(const void *nodep, const VISIT which, const int depth)
 	{
@@ -679,6 +680,7 @@ compute_tables (void)
 	  max_chainlength = MAX (max_chainlength, chainlength);
 	}
 
+	copy_string = false;
 	nhashentries = nhashentries_min;
 	for (size_t cnt = 0; cnt < TEST_RANGE; ++cnt)
 	  {

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog    |    5 +++++
 nss/makedb.c |   12 +++++++-----
 2 files changed, 12 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources



More information about the Glibc-cvs mailing list