Fossil SCM

Fix to the multi-repository name parser for CGI.

drh 2011-04-18 19:17 trunk
Commit 71a1c7b22bc86757d3f1871e3b295d85f59a802f
1 file changed +1 -1
+1 -1
--- src/main.c
+++ src/main.c
@@ -909,11 +909,11 @@
909909
zRepo = zToFree = mprintf("%s%.*s.fossil",g.zRepositoryName,i,zPathInfo);
910910
911911
/* To avoid mischief, make sure the repository basename contains no
912912
** characters other than alphanumerics, "-", "/", and "_".
913913
*/
914
- for(j=strlen(g.zRepositoryName)+1, k=0; k<i-1; j++, k++){
914
+ for(j=strlen(g.zRepositoryName)+1, k=0; zRepo[j] && k<i-1; j++, k++){
915915
if( !fossil_isalnum(zRepo[j]) && zRepo[j]!='-' && zRepo[j]!='/' ){
916916
zRepo[j] = '_';
917917
}
918918
}
919919
if( zRepo[0]=='/' && zRepo[1]=='/' ){ zRepo++; j--; }
920920
--- src/main.c
+++ src/main.c
@@ -909,11 +909,11 @@
909 zRepo = zToFree = mprintf("%s%.*s.fossil",g.zRepositoryName,i,zPathInfo);
910
911 /* To avoid mischief, make sure the repository basename contains no
912 ** characters other than alphanumerics, "-", "/", and "_".
913 */
914 for(j=strlen(g.zRepositoryName)+1, k=0; k<i-1; j++, k++){
915 if( !fossil_isalnum(zRepo[j]) && zRepo[j]!='-' && zRepo[j]!='/' ){
916 zRepo[j] = '_';
917 }
918 }
919 if( zRepo[0]=='/' && zRepo[1]=='/' ){ zRepo++; j--; }
920
--- src/main.c
+++ src/main.c
@@ -909,11 +909,11 @@
909 zRepo = zToFree = mprintf("%s%.*s.fossil",g.zRepositoryName,i,zPathInfo);
910
911 /* To avoid mischief, make sure the repository basename contains no
912 ** characters other than alphanumerics, "-", "/", and "_".
913 */
914 for(j=strlen(g.zRepositoryName)+1, k=0; zRepo[j] && k<i-1; j++, k++){
915 if( !fossil_isalnum(zRepo[j]) && zRepo[j]!='-' && zRepo[j]!='/' ){
916 zRepo[j] = '_';
917 }
918 }
919 if( zRepo[0]=='/' && zRepo[1]=='/' ){ zRepo++; j--; }
920

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button