Fix to not lose entries in the chain linked client list
authorEzra Peisach <epeisach@mit.edu>
Tue, 21 Oct 1997 18:33:55 +0000 (18:33 +0000)
committerEzra Peisach <epeisach@mit.edu>
Tue, 21 Oct 1997 18:33:55 +0000 (18:33 +0000)
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.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10241 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/rpc/ChangeLog
src/lib/rpc/svc_auth_gssapi.c

index 1a37a3e0053ccf9344b224ba9cef6509a1d15661..38be12870c65d98692f3e26374cf77455701f129 100644 (file)
@@ -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.
index 20bf95a741a605ea4c232abacd1a85cb71a29f69..d69a43ecb46f6da84c267cabaac793bd9ca1886a 100644 (file)
@@ -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();