windows-scache-ref-leak-20061007
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 7 Oct 2006 23:27:14 +0000 (23:27 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 7 Oct 2006 23:27:14 +0000 (23:27 +0000)
return the cm_scache_t whose refCount was increased

src/WINNT/afsd/cm_scache.c

index 76b8a89..2d489e1 100644 (file)
@@ -765,15 +765,15 @@ cm_scache_t * cm_FindSCacheParent(cm_scache_t * scp)
     parent_fid.unique = scp->parentUnique;
 
     if (cm_FidCmp(&scp->fid, &parent_fid)) {
-       for (i=0; i<cm_data.hashTableSize; i++) {
-           for (pscp = cm_data.hashTablep[i]; pscp; pscp = pscp->nextp) {
-               if (!cm_FidCmp(&pscp->fid, &parent_fid)) {
-                   cm_HoldSCacheNoLock(pscp);
-                   break;
-               }
+       i = CM_SCACHE_HASH(&parent_fid);
+       for (pscp = cm_data.hashTablep[i]; pscp; pscp = pscp->nextp) {
+           if (!cm_FidCmp(&pscp->fid, &parent_fid)) {
+               cm_HoldSCacheNoLock(pscp);
+               break;
            }
        }
     }
+
     lock_ReleaseRead(&cm_scacheLock);
 
     return pscp;