summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/rpc/ChangeLog5
-rw-r--r--src/lib/rpc/svc_auth_gssapi.c12
2 files changed, 16 insertions, 1 deletions
diff --git a/src/lib/rpc/ChangeLog b/src/lib/rpc/ChangeLog
index 1a37a3e005..38be12870c 100644
--- a/src/lib/rpc/ChangeLog
+++ b/src/lib/rpc/ChangeLog
@@ -1,3 +1,8 @@
+Tue Oct 21 14:31:33 1997 Ezra Peisach <epeisach@mit.edu>
+
+ * svc_auth_gssapi.c (destroy_client): Fix to not lose entries in
+ the chain linked list.
+
Mon Aug 18 09:48:06 1997 Ezra Peisach <epeisach@kangaroo.mit.edu>
* get_myaddress.c: Include string.h for memcpy prototype.
diff --git a/src/lib/rpc/svc_auth_gssapi.c b/src/lib/rpc/svc_auth_gssapi.c
index 20bf95a741..d69a43ecb4 100644
--- a/src/lib/rpc/svc_auth_gssapi.c
+++ b/src/lib/rpc/svc_auth_gssapi.c
@@ -5,6 +5,14 @@
* $Source$
*
* $Log$
+ * Revision 1.43 1997/10/21 18:33:55 epeisach
+ * Fix to not lose entries in the chain linked client list.
+ *
+ * A pointer was not being updated resulting in the situation where
+ * random clients would sudenly fail with a misc. rpc. error as the client
+ * handle could not be found. The scenario required three active clients
+ * to trigger the problem.
+ *
* Revision 1.42 1996/12/04 17:47:18 bjaspan
* * Various changes to allow channel bindings to work with both UDP
* and TCP cleanly [krb5-libs/180]:
@@ -1015,8 +1023,10 @@ static void destroy_client(client_data)
c2->next = c->next;
free(c);
goto done;
- } else
+ } else {
+ c2 = c;
c = c->next;
+ }
}
PRINTF(("destroy_client: client_handle delete failed\n"));
abort();