CloseServiceHandle (hManager);
}
- DebugEvent("AFS AfsLogon - Test Service Running","Return Code[%x] ?Running[%d]",Status.dwCurrentState,(Status.dwCurrentState == SERVICE_RUNNING));
+ DebugEvent("AFS AfsLogon - Test Service Running Return Code[%x] ?Running[%d]",Status.dwCurrentState,(Status.dwCurrentState == SERVICE_RUNNING));
return (Status.dwCurrentState == SERVICE_RUNNING);
}
CloseServiceHandle (hManager);
}
- DebugEvent("AFS AfsLogon - Test Service Start Pending","Return Code[%x] ?Start Pending[%d]",Status.dwCurrentState,(Status.dwCurrentState == SERVICE_START_PENDING));
+ DebugEvent("AFS AfsLogon - Test Service Start Pending Return Code[%x] ?Start Pending[%d]",Status.dwCurrentState,(Status.dwCurrentState == SERVICE_START_PENDING));
return (Status.dwCurrentState == SERVICE_START_PENDING);
}
return CM_ERROR_BADFD;
}
- if (fidp->flags & SMB_FID_IOCTL)
- return smb_IoctlWrite(fidp, vcp, inp, outp);
-
+ if (fidp->flags & SMB_FID_IOCTL) {
+ code = smb_IoctlWrite(fidp, vcp, inp, outp);
+ smb_ReleaseFID(fidp);
+ return code;
+ }
userp = smb_GetUser(vcp, inp);
/* special case: 0 bytes transferred means truncate to this position */
}
if (fidp->flags & SMB_FID_IOCTL) {
- return smb_IoctlRead(fidp, vcp, inp, outp);
+ code = smb_IoctlRead(fidp, vcp, inp, outp);
+ smb_ReleaseFID(fidp);
+ return code;
}
{
fidp = smb_FindFID(vcp, fid, 0);
if (!fidp || (fidp->flags & SMB_FID_IOCTL)) {
osi_Log0(smb_logp, "smb_ReceiveV3Locking BadFD");
+ if (fidp)
+ smb_ReleaseFID(fidp);
return CM_ERROR_BADFD;
}
/* set inp->fid so that later read calls in same msg can find fid */
fidp = smb_FindFID(vcp, fid, 0);
if (!fidp || (fidp->flags & SMB_FID_IOCTL)) {
+ if (fidp)
+ smb_ReleaseFID(fidp);
return CM_ERROR_BADFD;
}
fidp = smb_FindFID(vcp, fid, 0);
if (!fidp || (fidp->flags & SMB_FID_IOCTL)) {
+ if (fidp)
+ smb_ReleaseFID(fidp);
return CM_ERROR_BADFD;
}
inp->fid = fd;
if (fidp->flags & SMB_FID_IOCTL) {
- return smb_IoctlV3Read(fidp, vcp, inp, outp);
+ code = smb_IoctlV3Read(fidp, vcp, inp, outp);
+ smb_ReleaseFID(fidp);
+ return code;
}
userp = smb_GetUser(vcp, inp);
}
if (baseFid == 0) {
+ baseFidp = NULL;
baseDirp = cm_data.rootSCachep;
code = smb_LookupTIDPath(vcp, ((smb_t *)inp)->tid, &tidPathp);
if (code == CM_ERROR_TIDIPC) {
cm_ReleaseSCache(dscp);
cm_ReleaseUser(userp);
free(realPathp);
+ if (baseFidp)
+ smb_ReleaseFID(baseFidp);
if ( WANTS_DFS_PATHNAMES(inp) )
return CM_ERROR_PATH_NOT_COVERED;
else
cm_ReleaseSCache(dscp);
cm_ReleaseUser(userp);
free(realPathp);
+ if (baseFidp)
+ smb_ReleaseFID(baseFidp);
return CM_ERROR_EXISTS;
}
}
cm_ReleaseSCache(scp);
cm_ReleaseUser(userp);
free(realPathp);
+ if (baseFidp)
+ smb_ReleaseFID(baseFidp);
if ( WANTS_DFS_PATHNAMES(inp) )
return CM_ERROR_PATH_NOT_COVERED;
else
cm_ReleaseSCache(dscp);
cm_ReleaseUser(userp);
free(realPathp);
+ if (baseFidp)
+ smb_ReleaseFID(baseFidp);
if ( WANTS_DFS_PATHNAMES(inp) )
return CM_ERROR_PATH_NOT_COVERED;
else
treeStartp = realPathp + (tp - spacep->data);
if (*tp && !smb_IsLegalFilename(tp)) {
- if (baseFid != 0)
+ if (baseFidp)
smb_ReleaseFID(baseFidp);
cm_ReleaseUser(userp);
free(realPathp);
/* we might have scp and we might have dscp */
- if (baseFid != 0)
+ if (baseFidp)
smb_ReleaseFID(baseFidp);
if (code) {
/* we have scp and dscp */
} else {
/* we have scp but not dscp */
- if (baseFid != 0)
+ if (baseFidp)
smb_ReleaseFID(baseFidp);
}
}
if (baseFid == 0) {
+ baseFidp = NULL;
baseDirp = cm_data.rootSCachep;
code = smb_LookupTIDPath(vcp, ((smb_t *)inp)->tid, &tidPathp);
if (code == CM_ERROR_TIDIPC) {
} else {
baseFidp = smb_FindFID(vcp, baseFid, 0);
if (!baseFidp) {
- osi_Log1(smb_logp, "NTTranCreate Invalid fid [%d]", baseFid);
+ osi_Log1(smb_logp, "NTTranCreate Invalid fid [%d]", baseFid);
free(realPathp);
cm_ReleaseUser(userp);
return CM_ERROR_INVAL;
cm_ReleaseSCache(dscp);
cm_ReleaseUser(userp);
free(realPathp);
+ if (baseFidp)
+ smb_ReleaseFID(baseFidp);
if ( WANTS_DFS_PATHNAMES(inp) )
return CM_ERROR_PATH_NOT_COVERED;
else
cm_ReleaseSCache(dscp);
cm_ReleaseUser(userp);
free(realPathp);
+ if (baseFidp)
+ smb_ReleaseFID(baseFidp);
return CM_ERROR_EXISTS;
}
}
cm_ReleaseSCache(scp);
cm_ReleaseUser(userp);
free(realPathp);
+ if (baseFidp)
+ smb_ReleaseFID(baseFidp);
if ( WANTS_DFS_PATHNAMES(inp) )
return CM_ERROR_PATH_NOT_COVERED;
else
cm_ReleaseSCache(dscp);
cm_ReleaseUser(userp);
free(realPathp);
+ if (baseFidp)
+ smb_ReleaseFID(baseFidp);
if ( WANTS_DFS_PATHNAMES(inp) )
return CM_ERROR_PATH_NOT_COVERED;
else
cm_FreeSpace(spacep);
- if (baseFid != 0) {
+ if (baseFidp)
smb_ReleaseFID(baseFidp);
- baseFidp = 0;
- }
if (code) {
cm_ReleaseUser(userp);
return code;
}
- if (!lastNamep) lastNamep = realPathp;
- else lastNamep++;
+ if (!lastNamep)
+ lastNamep = realPathp;
+ else
+ lastNamep++;
if (!smb_IsLegalFilename(lastNamep))
return CM_ERROR_BADNTFILENAME;
}
}
} else {
- if (baseFid != 0) {
+ if (baseFidp)
smb_ReleaseFID(baseFidp);
- baseFidp = 0;
- }
cm_FreeSpace(spacep);
}