Fossil SCM
Fix an off-by-one error in the binary search for file suffixes when trying to guess the mimetype of a file. Ticket [da461aefee1351]
Commit
96b09d89a1525bb3cc81db9f787c91cc832b917d
Parent
4e4d0fa5278d908…
1 file changed
+1
-1
+1
-1
| --- src/doc.c | ||
| +++ src/doc.c | ||
| @@ -315,11 +315,11 @@ | ||
| 315 | 315 | len = strlen(z); |
| 316 | 316 | if( len<sizeof(zSuffix)-1 ){ |
| 317 | 317 | sqlite3_snprintf(sizeof(zSuffix), zSuffix, "%s", z); |
| 318 | 318 | for(i=0; zSuffix[i]; i++) zSuffix[i] = fossil_tolower(zSuffix[i]); |
| 319 | 319 | first = 0; |
| 320 | - last = sizeof(aMime)/sizeof(aMime[0]); | |
| 320 | + last = sizeof(aMime)/sizeof(aMime[0]) - 1; | |
| 321 | 321 | while( first<=last ){ |
| 322 | 322 | int c; |
| 323 | 323 | i = (first+last)/2; |
| 324 | 324 | c = fossil_strcmp(zSuffix, aMime[i].zSuffix); |
| 325 | 325 | if( c==0 ) return aMime[i].zMimetype; |
| 326 | 326 |
| --- src/doc.c | |
| +++ src/doc.c | |
| @@ -315,11 +315,11 @@ | |
| 315 | len = strlen(z); |
| 316 | if( len<sizeof(zSuffix)-1 ){ |
| 317 | sqlite3_snprintf(sizeof(zSuffix), zSuffix, "%s", z); |
| 318 | for(i=0; zSuffix[i]; i++) zSuffix[i] = fossil_tolower(zSuffix[i]); |
| 319 | first = 0; |
| 320 | last = sizeof(aMime)/sizeof(aMime[0]); |
| 321 | while( first<=last ){ |
| 322 | int c; |
| 323 | i = (first+last)/2; |
| 324 | c = fossil_strcmp(zSuffix, aMime[i].zSuffix); |
| 325 | if( c==0 ) return aMime[i].zMimetype; |
| 326 |
| --- src/doc.c | |
| +++ src/doc.c | |
| @@ -315,11 +315,11 @@ | |
| 315 | len = strlen(z); |
| 316 | if( len<sizeof(zSuffix)-1 ){ |
| 317 | sqlite3_snprintf(sizeof(zSuffix), zSuffix, "%s", z); |
| 318 | for(i=0; zSuffix[i]; i++) zSuffix[i] = fossil_tolower(zSuffix[i]); |
| 319 | first = 0; |
| 320 | last = sizeof(aMime)/sizeof(aMime[0]) - 1; |
| 321 | while( first<=last ){ |
| 322 | int c; |
| 323 | i = (first+last)/2; |
| 324 | c = fossil_strcmp(zSuffix, aMime[i].zSuffix); |
| 325 | if( c==0 ) return aMime[i].zMimetype; |
| 326 |