]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-windows-unicode-support-20080511
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 11 May 2008 14:17:17 +0000 (14:17 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 11 May 2008 14:17:17 +0000 (14:17 +0000)
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)

src/WINNT/afsd/cm_dir.c
src/WINNT/afsd/cm_dir.h
src/WINNT/afsd/smb3.c

index 0bf87de8c3d0c521f821702e541729f87d6512d8..d441d760acc512da1c5ba41fe94ccebc8c7fa696 100644 (file)
@@ -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;
         
index febebb6f7849a8606307a26af1fabd3cd22cf7d4..cc1b9982468b86bab06e78cadf9a78564f39a5c1 100644 (file)
@@ -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);
index a680c808eb4c3b6b229dbaec511b3ca347698368..0f3fdfe7987637b59001be070f01f9a666af8891 100644 (file)
@@ -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);