From: Noah Meyerhans Date: Sat, 29 Dec 2007 04:39:04 +0000 (+0000) Subject: apply fixes for OpenAFS Security Advisory 2007-003 X-Git-Tag: debian/1.3.81-3sarge2~1 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=2cf2378f5c86284d2f5cc67c2d246d765a04ef2a;p=packages%2Fo%2Fopenafs.git apply fixes for OpenAFS Security Advisory 2007-003 --- diff --git a/src/viced/afsfileprocs.c b/src/viced/afsfileprocs.c index 81d10a13f..7fcb6837e 100644 --- a/src/viced/afsfileprocs.c +++ b/src/viced/afsfileprocs.c @@ -5877,7 +5877,9 @@ common_GiveUpCallBacks(struct rx_call *acall, struct AFSCBFids *FidArray, (tcon->peer ? tcon->peer->host : 0))); errorCode = GetClient(tcon, &client); if (!errorCode) + H_LOCK; DeleteAllCallBacks_r(client->host, 1); + H_UNLOCK; } else { if (FidArray->AFSCBFids_len < CallBackArray->AFSCBs_len) { ViceLog(0, diff --git a/src/viced/host.c b/src/viced/host.c index c00216fb7..28f2f9018 100644 --- a/src/viced/host.c +++ b/src/viced/host.c @@ -1092,6 +1092,7 @@ h_GetHost_r(struct rx_connection *tcon) host->interface ? uuid2 : "")); /* The host in the cache is not the host for this connection */ + h_Lock_r(host); host->hostFlags |= HOSTDELETED; h_Unlock_r(host); if (!held)