summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--nscd/pwdcache.c1
2 files changed, 5 insertions, 0 deletions
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;