From: Jeffrey Altman Date: Sun, 11 May 2008 14:17:17 +0000 (+0000) Subject: DEVEL15-windows-unicode-support-20080511 X-Git-Tag: openafs-devel-1_5_50~128 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=04a40271be79609d5a6a44fd09bac742eba780ef;p=packages%2Fo%2Fopenafs.git DEVEL15-windows-unicode-support-20080511 LICENSE MIT In NTCreateX a zero length name is permitted. This can occur when opening the root directory of a share. Change cm_NameEntries() to accept a size_t* instead of long* since that permits better type safety. (cherry picked from commit 9d28d95151418189e8004734eca0edd498edd46b) --- diff --git a/src/WINNT/afsd/cm_dir.c b/src/WINNT/afsd/cm_dir.c index 0bf87de8c..d441d760a 100644 --- a/src/WINNT/afsd/cm_dir.c +++ b/src/WINNT/afsd/cm_dir.c @@ -123,7 +123,7 @@ cm_DirFreeBlobs(cm_dirOp_t * op, int firstblob, int nblobs); * the specified name. */ long -cm_NameEntries(char *namep, long *lenp) +cm_NameEntries(char *namep, size_t *lenp) { long i; diff --git a/src/WINNT/afsd/cm_dir.h b/src/WINNT/afsd/cm_dir.h index febebb6f7..cc1b99824 100644 --- a/src/WINNT/afsd/cm_dir.h +++ b/src/WINNT/afsd/cm_dir.h @@ -139,7 +139,7 @@ extern long cm_EndDirOp(cm_dirOp_t * op); extern long -cm_NameEntries(char *namep, long *lenp); +cm_NameEntries(char *namep, size_t *lenp); extern long cm_DirCreateEntry(cm_dirOp_t * op, char *entry, cm_fid_t * cfid); diff --git a/src/WINNT/afsd/smb3.c b/src/WINNT/afsd/smb3.c index a680c808e..0f3fdfe79 100644 --- a/src/WINNT/afsd/smb3.c +++ b/src/WINNT/afsd/smb3.c @@ -6785,9 +6785,6 @@ long smb_ReceiveNTCreateX(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp) if (extAttributes & SMB_ATTR_READONLY) initialModeBits &= ~0222; - if (nameLength == 0) - return CM_ERROR_INVAL; - pathp = smb_ParseStringCb(inp, smb_GetSMBData(inp, NULL), nameLength, NULL, SMB_STRF_ANSIPATH);