about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-11-25 21:29:30 +0000
committerUlrich Drepper <drepper@redhat.com>2007-11-25 21:29:30 +0000
commite8667ddc01786cfe79861a0031d6244212fd7a65 (patch)
tree4fdb82b812bf2e98829db72a095f90efb7e60ab1
parent30294ea4495e48e0103fee4d855737a281cc49fa (diff)
downloadglibc-e8667ddc01786cfe79861a0031d6244212fd7a65.tar.gz
glibc-e8667ddc01786cfe79861a0031d6244212fd7a65.tar.xz
glibc-e8667ddc01786cfe79861a0031d6244212fd7a65.zip
Clear array before use.
	* nscd/hstcache.c (cache_addhst): Likewise.
	* nscd/grpcache.c (cache_addgr): Likewise.
	* nscd/servicescache.c (cache_addserv): Likewise.
	* nscd/pwdcache.c (cache_addpw): Likewise.
	* nscd/initgrcache.c (addinitgroupsX): Likewise.
-rw-r--r--ChangeLog7
-rw-r--r--nscd/grpcache.c2
-rw-r--r--nscd/hstcache.c2
-rw-r--r--nscd/initgrcache.c4
-rw-r--r--nscd/pwdcache.c2
-rw-r--r--nscd/servicescache.c2
6 files changed, 17 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index cc33cef5c8..4a0fd89a38 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,10 +4,15 @@
 	* nscd/mem.c (MAX_STACK_USE): Remove definition here.
 	(gc): Initialize stack_used based on allocation in prune_cache.
 	* nscd/cache.c (prune_cache): Use heap for mark array if necessary.
-	Clear array bfore use.
+	Clear array before use.
 
 	* nscd/aicache.c (addhstaiX): Update statistics counter in case
 	memory allocate failed.
+	* nscd/hstcache.c (cache_addhst): Likewise.
+	* nscd/grpcache.c (cache_addgr): Likewise.
+	* nscd/servicescache.c (cache_addserv): Likewise.
+	* nscd/pwdcache.c (cache_addpw): Likewise.
+	* nscd/initgrcache.c (addinitgroupsX): Likewise.
 
 2007-11-23  Ulrich Drepper  <drepper@redhat.com>
 
diff --git a/nscd/grpcache.c b/nscd/grpcache.c
index 9cb6105f3c..002f04fb3e 100644
--- a/nscd/grpcache.c
+++ b/nscd/grpcache.c
@@ -285,6 +285,8 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
 		  dataset = memcpy (newp, dataset, total + n);
 		  alloca_used = false;
 		}
+	      else
+		++db->head->addfailed;
 
 	      /* Mark the old record as obsolete.  */
 	      dh->usable = false;
diff --git a/nscd/hstcache.c b/nscd/hstcache.c
index c93691dcfd..cc041581e1 100644
--- a/nscd/hstcache.c
+++ b/nscd/hstcache.c
@@ -325,6 +325,8 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
 		      dataset = memcpy (newp, dataset, total + req->key_len);
 		      alloca_used = false;
 		    }
+		  else
+		    ++db->head->addfailed;
 		}
 
 	      /* Mark the old record as obsolete.  */
diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c
index bb4ac37efc..157cd7860c 100644
--- a/nscd/initgrcache.c
+++ b/nscd/initgrcache.c
@@ -110,7 +110,7 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
   bool all_tryagain = true;
   bool any_success = false;
 
-  /* This is temporary memory, we need not (ad must not) call
+  /* This is temporary memory, we need not (and must not) call
      mempool_alloc.  */
   // XXX This really should use alloca.  need to change the backends.
   gid_t *groups = (gid_t *) malloc (size * sizeof (gid_t));
@@ -338,6 +338,8 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
 		  dataset = memcpy (newp, dataset, total + req->key_len);
 		  alloca_used = false;
 		}
+	      else
+		++db->head->addfailed;
 
 	      /* Mark the old record as obsolete.  */
 	      dh->usable = false;
diff --git a/nscd/pwdcache.c b/nscd/pwdcache.c
index 51ea113476..bc1b6bab2f 100644
--- a/nscd/pwdcache.c
+++ b/nscd/pwdcache.c
@@ -280,6 +280,8 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
 		  dataset = memcpy (newp, dataset, total + n);
 		  alloca_used = false;
 		}
+	      else
+		++db->head->addfailed;
 
 	      /* Mark the old record as obsolete.  */
 	      dh->usable = false;
diff --git a/nscd/servicescache.c b/nscd/servicescache.c
index d6bf51d29f..e122cb3f16 100644
--- a/nscd/servicescache.c
+++ b/nscd/servicescache.c
@@ -272,6 +272,8 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
 		  dataset = memcpy (newp, dataset, total + req->key_len);
 		  alloca_used = false;
 		}
+	      else
+		++db->head->addfailed;
 
 	      /* Mark the old record as obsolete.  */
 	      dh->usable = false;