rx: fix mutex leak in error case 71/12771/2
authorBenjamin Kaduk <kaduk@mit.edu>
Thu, 16 Nov 2017 10:48:02 +0000 (04:48 -0600)
committerBenjamin Kaduk <kaduk@mit.edu>
Thu, 23 Nov 2017 01:22:30 +0000 (20:22 -0500)
Reported by Mark Vitale

Change-Id: I3269fbb0f87285bcb9af64f4ad81791177582e6d
Reviewed-on: https://gerrit.openafs.org/12771
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

src/rx/rx.c

index d25acef..95e88c2 100644 (file)
@@ -1248,6 +1248,7 @@ rxi_DestroyConnectionNoLock(struct rx_connection *conn)
     if ((conn->type == RX_CLIENT_CONNECTION)
        && (conn->flags & (RX_CONN_MAKECALL_WAITING|RX_CONN_MAKECALL_ACTIVE))) {
        conn->flags |= RX_CONN_DESTROY_ME;
+       MUTEX_EXIT(&rx_refcnt_mutex);
        MUTEX_EXIT(&conn->conn_data_lock);
        USERPRI;
        return;