From 116c2d680ebcb7bd977ee13c8ad2fe94e59ecfe3 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Wed, 11 May 2005 22:33:33 +0000 Subject: [PATCH] windows-scache-release-20050511 Add additional "if !NULL" checks before calling cm_SCacheRelease --- src/WINNT/afsd/afsd_init.c | 1 - src/WINNT/afsd/cm_vnodeops.c | 4 ++-- src/WINNT/afsd/smb.c | 7 ++++--- src/WINNT/afsd/smb3.c | 35 ++++++++++++++++++++++------------- 4 files changed, 28 insertions(+), 19 deletions(-) diff --git a/src/WINNT/afsd/afsd_init.c b/src/WINNT/afsd/afsd_init.c index 3d7e37ada..bf5eebb9b 100644 --- a/src/WINNT/afsd/afsd_init.c +++ b/src/WINNT/afsd/afsd_init.c @@ -818,7 +818,6 @@ int afsd_InitCM(char **reasonP) (BYTE *) &traceOnPanic, &dummyLen); if (code != ERROR_SUCCESS) traceOnPanic = 1; /* log */ - } afsi_log("Set to %s on panic", traceOnPanic ? "trap" : "not trap"); dummyLen = sizeof(reportSessionStartups); diff --git a/src/WINNT/afsd/cm_vnodeops.c b/src/WINNT/afsd/cm_vnodeops.c index 20872df2b..2cfcf8cb3 100644 --- a/src/WINNT/afsd/cm_vnodeops.c +++ b/src/WINNT/afsd/cm_vnodeops.c @@ -1635,8 +1635,8 @@ long cm_EvaluateSymLink(cm_scache_t *dscp, cm_scache_t *linkScp, CM_FLAG_CASEFOLD | CM_FLAG_FOLLOW | CM_FLAG_DIRSEARCH, userp, NULL, reqp, outScpp); - if (code == CM_ERROR_NOSUCHFILE) - code = CM_ERROR_NOSUCHPATH; + if (code == CM_ERROR_NOSUCHFILE) + code = CM_ERROR_NOSUCHPATH; /* this stuff is allocated no matter what happened on the namei call, * so free it */ diff --git a/src/WINNT/afsd/smb.c b/src/WINNT/afsd/smb.c index 3382b52a4..27703fab5 100644 --- a/src/WINNT/afsd/smb.c +++ b/src/WINNT/afsd/smb.c @@ -1546,7 +1546,7 @@ int smb_FindShare(smb_vc_t *vcp, smb_user_t *uidp, char *shareName, /* Get the full name for this cell */ code = cm_SearchCellFile(p, temp, 0, 0); #ifdef AFS_AFSDB_ENV - if (code && cm_dnsEnabled) { + if (code && cm_dnsEnabled) { int ttl; code = cm_SearchCellByDNS(p, temp, &ttl, 0, 0); } @@ -1680,7 +1680,8 @@ void smb_ReleaseDirSearchNoLock(smb_dirSearch_t *dsp) lock_ReleaseMutex(&dsp->mx); } /* do this now to avoid spurious locking hierarchy creation */ - if (scp) cm_ReleaseSCache(scp); + if (scp) + cm_ReleaseSCache(scp); } void smb_ReleaseDirSearch(smb_dirSearch_t *dsp) @@ -4780,7 +4781,7 @@ smb_Rename(smb_vc_t *vcp, smb_packet_t *inp, char * oldPathp, char * newPathp, i else code = CM_ERROR_EXISTS; cm_ReleaseSCache(tmpscp2); - tmpscp2 = NULL; + tmpscp2 = NULL; } else { code = CM_ERROR_NOSUCHFILE; } diff --git a/src/WINNT/afsd/smb3.c b/src/WINNT/afsd/smb3.c index cbdf54fe4..033012b77 100644 --- a/src/WINNT/afsd/smb3.c +++ b/src/WINNT/afsd/smb3.c @@ -5472,8 +5472,8 @@ long smb_ReceiveNTCreateX(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp) if (!smb_IsLegalFilename(lastNamep)) { if (scp) cm_ReleaseSCache(scp); - if (dscp) - cm_ReleaseSCache(dscp); + if (dscp) + cm_ReleaseSCache(dscp); cm_ReleaseUser(userp); free(realPathp); return CM_ERROR_BADNTFILENAME; @@ -5492,7 +5492,8 @@ long smb_ReceiveNTCreateX(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp) userp, &req, &scp); } if (code && code != CM_ERROR_NOSUCHFILE) { - cm_ReleaseSCache(dscp); + if (dscp) + cm_ReleaseSCache(dscp); cm_ReleaseUser(userp); free(realPathp); return code; @@ -5515,7 +5516,8 @@ long smb_ReceiveNTCreateX(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp) /* oops, file shouldn't be there */ if (dscp) cm_ReleaseSCache(dscp); - cm_ReleaseSCache(scp); + if (scp) + cm_ReleaseSCache(scp); cm_ReleaseUser(userp); free(realPathp); return CM_ERROR_EXISTS; @@ -5553,7 +5555,8 @@ long smb_ReceiveNTCreateX(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp) if (code) { if (dscp) cm_ReleaseSCache(dscp); - cm_ReleaseSCache(scp); + if (scp) + cm_ReleaseSCache(scp); cm_ReleaseUser(userp); free(realPathp); return code; @@ -5562,8 +5565,8 @@ long smb_ReceiveNTCreateX(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp) /* don't create if not found */ if (dscp) cm_ReleaseSCache(dscp); - if (scp) - cm_ReleaseSCache(scp); + if (scp) + cm_ReleaseSCache(scp); cm_ReleaseUser(userp); free(realPathp); return CM_ERROR_NOSUCHFILE; @@ -5736,7 +5739,8 @@ long smb_ReceiveNTCreateX(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp) /* (only applies to single component case) */ if (realDirFlag == 1 && scp->fileType == CM_SCACHETYPE_FILE) { cm_ReleaseSCache(scp); - cm_ReleaseSCache(dscp); + if (dscp) + cm_ReleaseSCache(dscp); cm_ReleaseUser(userp); free(realPathp); return CM_ERROR_NOTDIR; @@ -6111,7 +6115,8 @@ long smb_ReceiveNTTranCreate(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *out code = cm_CheckNTOpen(scp, desiredAccess, createDisp, userp, &req); if (code) { - if (dscp) cm_ReleaseSCache(dscp); + if (dscp) + cm_ReleaseSCache(dscp); cm_ReleaseSCache(scp); cm_ReleaseUser(userp); free(realPathp); @@ -6120,7 +6125,8 @@ long smb_ReceiveNTTranCreate(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *out if (createDisp == FILE_CREATE) { /* oops, file shouldn't be there */ - if (dscp) cm_ReleaseSCache(dscp); + if (dscp) + cm_ReleaseSCache(dscp); cm_ReleaseSCache(scp); cm_ReleaseUser(userp); free(realPathp); @@ -6156,7 +6162,8 @@ long smb_ReceiveNTTranCreate(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *out } else if (createDisp == FILE_OPEN || createDisp == FILE_OVERWRITE) { /* don't create if not found */ - if (dscp) cm_ReleaseSCache(dscp); + if (dscp) + cm_ReleaseSCache(dscp); cm_ReleaseUser(userp); free(realPathp); return CM_ERROR_NOSUCHFILE; @@ -6238,7 +6245,8 @@ long smb_ReceiveNTTranCreate(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *out if (code) { /* something went wrong creating or truncating the file */ - if (scp) cm_ReleaseSCache(scp); + if (scp) + cm_ReleaseSCache(scp); cm_ReleaseUser(userp); free(realPathp); return code; @@ -6297,7 +6305,8 @@ long smb_ReceiveNTTranCreate(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *out fidp->NTopen_wholepathp = realPathp; /* we don't need this any longer */ - if (dscp) cm_ReleaseSCache(dscp); + if (dscp) + cm_ReleaseSCache(dscp); cm_Open(scp, 0, userp); -- 2.39.5