mirror of
https://git.openafs.org/openafs.git
synced 2025-02-01 05:57:43 +00:00
STABLE14-windows-cifs-std-info-take-two-20060607
The "is a directory" value was being set one field beyond the end of the Standard Info reply structure. (cherry picked from commit 2c20a3d603fcc654759b8c90924f36468f8aae81)
This commit is contained in:
parent
d8478e1848
commit
5b8839a185
@ -2842,13 +2842,13 @@ long smb_ReceiveTran2QPathInfo(smb_vc_t *vcp, smb_tran2Packet_t *p, smb_packet_t
|
|||||||
else if (infoLevel == SMB_QUERY_FILE_STANDARD_INFO) {
|
else if (infoLevel == SMB_QUERY_FILE_STANDARD_INFO) {
|
||||||
*((LARGE_INTEGER *)op) = scp->length; op += 8; /* alloc size */
|
*((LARGE_INTEGER *)op) = scp->length; op += 8; /* alloc size */
|
||||||
*((LARGE_INTEGER *)op) = scp->length; op += 8; /* EOF */
|
*((LARGE_INTEGER *)op) = scp->length; op += 8; /* EOF */
|
||||||
*((u_long *)op) = scp->linkCount; op += 4;
|
*((u_long *)op) = scp->linkCount; op += 4; /* Link count */
|
||||||
*op++ = 0;
|
*op++ = 0; /* Delete Pending */
|
||||||
*op++ = 0;
|
|
||||||
*op++ = ((scp->fileType == CM_SCACHETYPE_DIRECTORY ||
|
*op++ = ((scp->fileType == CM_SCACHETYPE_DIRECTORY ||
|
||||||
scp->fileType == CM_SCACHETYPE_MOUNTPOINT ||
|
scp->fileType == CM_SCACHETYPE_MOUNTPOINT ||
|
||||||
scp->fileType == CM_SCACHETYPE_INVALID) ? 1 : 0);
|
scp->fileType == CM_SCACHETYPE_INVALID) ? 1 : 0);
|
||||||
*op++ = 0;
|
*op++ = 0;
|
||||||
|
*op++ = 0;
|
||||||
}
|
}
|
||||||
else if (infoLevel == SMB_QUERY_FILE_EA_INFO) {
|
else if (infoLevel == SMB_QUERY_FILE_EA_INFO) {
|
||||||
memset(op, 0, 4); op += 4; /* EA size */
|
memset(op, 0, 4); op += 4; /* EA size */
|
||||||
@ -2967,8 +2967,8 @@ long smb_ReceiveTran2QFileInfo(smb_vc_t *vcp, smb_tran2Packet_t *p, smb_packet_t
|
|||||||
else if (infoLevel == SMB_QUERY_FILE_STANDARD_INFO) {
|
else if (infoLevel == SMB_QUERY_FILE_STANDARD_INFO) {
|
||||||
*((LARGE_INTEGER *)op) = scp->length; op += 8; /* alloc size */
|
*((LARGE_INTEGER *)op) = scp->length; op += 8; /* alloc size */
|
||||||
*((LARGE_INTEGER *)op) = scp->length; op += 8; /* EOF */
|
*((LARGE_INTEGER *)op) = scp->length; op += 8; /* EOF */
|
||||||
*((u_long *)op) = scp->linkCount; op += 4;
|
*((u_long *)op) = scp->linkCount; op += 4; /* Link count */
|
||||||
*op++ = (delonclose ? 1 : 0);
|
*op++ = (delonclose ? 1 : 0); /* Delete Pending */
|
||||||
*op++ = ((scp->fileType == CM_SCACHETYPE_DIRECTORY ||
|
*op++ = ((scp->fileType == CM_SCACHETYPE_DIRECTORY ||
|
||||||
scp->fileType == CM_SCACHETYPE_MOUNTPOINT ||
|
scp->fileType == CM_SCACHETYPE_MOUNTPOINT ||
|
||||||
scp->fileType == CM_SCACHETYPE_INVALID)? 1 : 0);
|
scp->fileType == CM_SCACHETYPE_INVALID)? 1 : 0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user