Fossil SCM
Fix to the multi-repository name parser for CGI.
Commit
71a1c7b22bc86757d3f1871e3b295d85f59a802f
Parent
e11513631f9ca7f…
1 file changed
+1
-1
+1
-1
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -909,11 +909,11 @@ | ||
| 909 | 909 | zRepo = zToFree = mprintf("%s%.*s.fossil",g.zRepositoryName,i,zPathInfo); |
| 910 | 910 | |
| 911 | 911 | /* To avoid mischief, make sure the repository basename contains no |
| 912 | 912 | ** characters other than alphanumerics, "-", "/", and "_". |
| 913 | 913 | */ |
| 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++){ | |
| 915 | 915 | if( !fossil_isalnum(zRepo[j]) && zRepo[j]!='-' && zRepo[j]!='/' ){ |
| 916 | 916 | zRepo[j] = '_'; |
| 917 | 917 | } |
| 918 | 918 | } |
| 919 | 919 | if( zRepo[0]=='/' && zRepo[1]=='/' ){ zRepo++; j--; } |
| 920 | 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; 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 |