From 2617395f90db0c94c5c556c87ca0e82cc20fe649 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Tue, 2 Mar 2004 07:23:41 +0000 Subject: [PATCH 1/1] security-class-object-leak-20040301 Incorrect reference count management results in a leak of rx_securityClass objects. --- src/WINNT/afsd/cm_conn.c | 2 ++ src/WINNT/afsd/fs.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/WINNT/afsd/cm_conn.c b/src/WINNT/afsd/cm_conn.c index 7d001e3..94f19de 100644 --- a/src/WINNT/afsd/cm_conn.c +++ b/src/WINNT/afsd/cm_conn.c @@ -471,6 +471,8 @@ static void cm_NewRXConnection(cm_conn_t *tcp, cm_ucell_t *ucellp, rx_SetConnDeadTime(tcp->callp, CM_CONN_CONNDEADTIME); rx_SetConnHardDeadTime(tcp->callp, CM_CONN_HARDDEADTIME); tcp->ucgen = ucellp->gen; + if (secObjp) + rxs_Release(secObjp); /* Decrement the initial refCount */ } long cm_ConnByServer(cm_server_t *serverp, cm_user_t *userp, cm_conn_t **connpp) diff --git a/src/WINNT/afsd/fs.c b/src/WINNT/afsd/fs.c index f5ceef5..981294c 100644 --- a/src/WINNT/afsd/fs.c +++ b/src/WINNT/afsd/fs.c @@ -2292,6 +2292,8 @@ struct afsconf_cell *info; info->hostAddr[i].sin_port, USER_SERVICE_ID, sc, scIndex); + if (sc) + rxs_Release(sc); /* Decrement the initial refCount */ code = ubik_ClientInit(serverconns, &uclient); if (code) { -- 1.9.4