From 61705e06e11f119b447dffa44450363d61c6cb18 Mon Sep 17 00:00:00 2001
From: Ulrich Drepper <drepper@redhat.com>
Date: Wed, 21 Feb 2007 09:05:36 +0000
Subject: [PATCH] [BZ #4074]

	* nscd/pwdcache.c (cache_addpw): In case a record changed on
	refresh, adjust key_copy.
---
 ChangeLog       | 4 ++++
 nscd/pwdcache.c | 1 +
 2 files changed, 5 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 30d4c8291a..a865200625 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2007-02-21  Ulrich Drepper  <drepper@redhat.com>
 
+	[BZ #4074]
+	* nscd/pwdcache.c (cache_addpw): In case a record changed on
+	refresh, adjust key_copy.
+
 	[BZ #4070]
 	* stdio-common/printf_fp.c (___printf_fp): Handle a few more
 	* stdio-common/tfformat.c (sprint_doubles): Some more tests.
diff --git a/nscd/pwdcache.c b/nscd/pwdcache.c
index 0461ec91ce..ab41bcc0d5 100644
--- a/nscd/pwdcache.c
+++ b/nscd/pwdcache.c
@@ -274,6 +274,7 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
 		{
 		  /* Adjust pointer into the memory block.  */
 		  cp = (char *) newp + (cp - (char *) dataset);
+		  key_copy = (char *) newp + (key_copy - (char *) dataset);
 
 		  dataset = memcpy (newp, dataset, total + n);
 		  alloca_used = false;