windows-max-cell-name-20080807
authorJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 7 Aug 2008 14:46:11 +0000 (14:46 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 7 Aug 2008 14:46:11 +0000 (14:46 +0000)
LICENSE MIT

Anywhere cm_GetCell_Gen() is called CELL_MAXNAMELEN must be used
otherwise there will be a stack overflow error.

src/WINNT/afsd/cm_freelance.c
src/WINNT/afsd/cm_vnodeops.c

index 7029089..211eb0d 100644 (file)
@@ -948,7 +948,7 @@ long cm_FreelanceAddMount(char *filename, char *cellname, char *volume, int rw,
     FILE *fp;
     char hfile[260];
     char line[512];
-    char fullname[200];
+    char fullname[CELL_MAXNAMELEN];
     int n;
     int alias = 0;
     HKEY hkFreelance = 0;
@@ -1177,7 +1177,7 @@ long cm_FreelanceRemoveMount(char *toremove)
 long cm_FreelanceAddSymlink(char *filename, char *destination, cm_fid_t *fidp)
 {
     char line[512];
-    char fullname[200];
+    char fullname[CELL_MAXNAMELEN];
     int alias = 0;
     HKEY hkFreelanceSymlinks = 0;
     DWORD dwType, dwSize;
index f8c9ba4..76c9c9a 100644 (file)
@@ -1127,7 +1127,7 @@ long cm_LookupInternal(cm_scache_t *dscp, clientchar_t *cnamep, long flags, cm_u
                  cm_ClientStrCmpI(cnamep, _C("ipc$"))) 
         {
             /* nonexistent dir on freelance root, so add it */
-            fschar_t fullname[200] = ".";
+            fschar_t fullname[CELL_MAXNAMELEN] = ".";
             int  found = 0;
 
             osi_Log1(afsd_logp,"cm_Lookup adding mount for non-existent directory: %S",