viced-findclient-do-not-return-wrong-client-20060620
authorJeffrey Hutzelman <jhutz@cs.cmu.edu>
Tue, 20 Jun 2006 21:00:09 +0000 (21:00 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 20 Jun 2006 21:00:09 +0000 (21:00 +0000)
In h_FindClient_r it was possible for the wrong client to be returned
and worse for it to be returned without the reference count being
incremented.

src/viced/host.c

index 0d5447b..2b9e794 100644 (file)
@@ -1646,6 +1646,8 @@ h_FindClient_r(struct rx_connection *tcon)
        H_UNLOCK;
        ObtainWriteLock(&client->lock); /* released at end */
        H_LOCK;
+    } else {
+       client = NULL;
     }
 
     authClass = rx_SecurityClassOf((struct rx_connection *)tcon);