From e94b2338691d9450749e5f3e51f85e99f90b4bea Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Sun, 27 May 2012 11:20:11 -0400 Subject: [PATCH] Windows: Protect against null volp dereference In cm_RecycleSCache cm_GetVolumeByFID can fail leaving 'volp' a NULL pointer. Do not call cm_PutVolume() if cm_GetVolumeByFID fails. Change-Id: I57eaf5d40130ecad75a312ef5487cdfa6e7367e3 Reviewed-on: http://gerrit.openafs.org/7506 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/WINNT/afsd/cm_scache.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/WINNT/afsd/cm_scache.c b/src/WINNT/afsd/cm_scache.c index 31afbb092..b8034fa65 100644 --- a/src/WINNT/afsd/cm_scache.c +++ b/src/WINNT/afsd/cm_scache.c @@ -173,9 +173,12 @@ long cm_RecycleSCache(cm_scache_t *scp, afs_int32 flags) !cm_accessPerFileCheck) { cm_volume_t *volp = cm_GetVolumeByFID(&scp->fid); - if (!(volp && (volp->flags & CM_VOLUMEFLAG_DFS_VOLUME))) - cm_EAccesClearParentEntries(&fid); - cm_PutVolume(volp); + if (volp) { + if (!(volp->flags & CM_VOLUMEFLAG_DFS_VOLUME)) + cm_EAccesClearParentEntries(&fid); + + cm_PutVolume(volp); + } } /* invalidate so next merge works fine; -- 2.39.5