Windows: Prevent cm_FreelanceAddSymlink from creating a symlink ending in a dot
authorJeffrey Altman <jaltman@your-file-system.com>
Sun, 2 May 2010 19:05:40 +0000 (15:05 -0400)
committerJeffrey Altman <jaltman@openafs.org>
Sun, 2 May 2010 19:13:38 +0000 (12:13 -0700)
Symlinks are ending up in the Freelance root.afs directory that
end with a dot.  Make sure it cannot happen.

LICENSE MIT

Change-Id: I8a19c0cf6c2a68c22839e15641206f7e9db8b15b
Reviewed-on: http://gerrit.openafs.org/1892
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

src/WINNT/afsd/cm_freelance.c

index 083f249..115daaa 100644 (file)
@@ -1243,6 +1243,10 @@ long cm_FreelanceAddSymlink(char *filename, char *destination, cm_fid_t *fidp)
     if ( filename[0] == '\0' || destination[0] == '\0' )
         return CM_ERROR_INVAL;
 
+    /* Do not create the symlink if the name ends in a dot */
+    if ( filename[strlen(filename)-1] == '.')
+        return CM_ERROR_INVAL;
+
     fullname[0] = '\0';
     if (filename[0] == '.') {
         cm_GetCell_Gen(&filename[1], fullname, CM_FLAG_CREATE);