From c8703f884991059dcaea8a78a4ae00ff7b1118eb Mon Sep 17 00:00:00 2001
From: Ulrich Drepper <drepper@redhat.com>
Date: Wed, 21 Feb 2007 09:11:47 +0000
Subject: [PATCH] * nscd/hstcache.c (cache_addhst): Remove unnecessary
 conditional.

	* nscd/servicescache.c (cache_addserv): Likewise.

	* nscd/grpcache.c (cache_addgr): In case a record changed on
	refresh, adjust key_copy.
---
 ChangeLog            | 6 ++++++
 nscd/grpcache.c      | 1 +
 nscd/hstcache.c      | 4 ++--
 nscd/servicescache.c | 4 ++--
 4 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a865200625..3ef0f333ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2007-02-21  Ulrich Drepper  <drepper@redhat.com>
 
+	* nscd/hstcache.c (cache_addhst): Remove unnecessary conditional.
+	* nscd/servicescache.c (cache_addserv): Likewise.
+
+	* nscd/grpcache.c (cache_addgr): In case a record changed on
+	refresh, adjust key_copy.
+
 	[BZ #4074]
 	* nscd/pwdcache.c (cache_addpw): In case a record changed on
 	refresh, adjust key_copy.
diff --git a/nscd/grpcache.c b/nscd/grpcache.c
index 54d1ef1eef..3852e8ca7f 100644
--- a/nscd/grpcache.c
+++ b/nscd/grpcache.c
@@ -279,6 +279,7 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
 		  /* Adjust pointers into the memory block.  */
 		  gr_name = (char *) newp + (gr_name - (char *) dataset);
 		  cp = (char *) newp + (cp - (char *) dataset);
+		  key_copy = (char *) newp + (key_copy - (char *) dataset);
 
 		  dataset = memcpy (newp, dataset, total + n);
 		  alloca_used = false;
diff --git a/nscd/hstcache.c b/nscd/hstcache.c
index 742491aea3..ad2e323eac 100644
--- a/nscd/hstcache.c
+++ b/nscd/hstcache.c
@@ -311,8 +311,8 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
 		  /* Adjust pointers into the memory block.  */
 		  addresses = (char *) newp + (addresses - (char *) dataset);
 		  aliases = (char *) newp + (aliases - (char *) dataset);
-		  if (key_copy != NULL)
-		    key_copy = (char *) newp + (key_copy - (char *) dataset);
+		  assert (key_copy != NULL);
+		  key_copy = (char *) newp + (key_copy - (char *) dataset);
 
 		  dataset = memcpy (newp, dataset, total + req->key_len);
 		  alloca_used = false;
diff --git a/nscd/servicescache.c b/nscd/servicescache.c
index ea4fa35100..8c3a9516ba 100644
--- a/nscd/servicescache.c
+++ b/nscd/servicescache.c
@@ -264,8 +264,8 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
 		{
 		  /* Adjust pointers into the memory block.  */
 		  aliases = (char *) newp + (aliases - (char *) dataset);
-		  if (key_copy != NULL)
-		    key_copy = (char *) newp + (key_copy - (char *) dataset);
+		  assert (key_copy != NULL);
+		  key_copy = (char *) newp + (key_copy - (char *) dataset);
 
 		  dataset = memcpy (newp, dataset, total + req->key_len);
 		  alloca_used = false;