LICENSE MIT
even though the docs for FILE_FS_ATTRIBUTE_INFORMATION state
that the MaximumComponentNameLength field is in bytes, it turns
out that Windows SMB servers return the value in characters.
Reduce the reported value to 255 to match NTFS.
(cherry picked from commit
8f3e660270d9c1af268ba45118ab87740fbeeef8)
/* The maxCompLength is supposed to be in bytes */
#ifdef SMB_UNICODE
qi.u.FSattributeInfo.attributes |= 0x04;
-
- if ((vcp->flags & SMB_VCFLAG_USEUNICODE) == SMB_VCFLAG_USEUNICODE)
- qi.u.FSattributeInfo.maxCompLength = MAX_PATH * sizeof(wchar_t);
- else {
-#endif
- qi.u.FSattributeInfo.maxCompLength = MAX_PATH;
-#ifdef SMB_UNICODE
- }
#endif
+ qi.u.FSattributeInfo.maxCompLength = 255;
smb_UnparseString(op, qi.u.FSattributeInfo.FSname, _C("AFS"), &sz, SMB_STRF_IGNORENUL);
qi.u.FSattributeInfo.FSnameLength = sz;