Fossil SCM
Do not make authorizer SQLITE_READ calls on transient internal tables.
Commit
b26967cfcb58f2434ae99c719f786005f3957cf0cc2ee1068f9b9efd0cc62d3a
Parent
a4d715251739eca…
1 file changed
+7
+7
| --- src/report.c | ||
| +++ src/report.c | ||
| @@ -195,10 +195,17 @@ | ||
| 195 | 195 | "tag", |
| 196 | 196 | "tagxref", |
| 197 | 197 | "unversioned", |
| 198 | 198 | }; |
| 199 | 199 | int i; |
| 200 | + if( zArg1==0 ){ | |
| 201 | + /* Some legacy versions of SQLite will sometimes send spurious | |
| 202 | + ** READ authorizations that have no table name. These can be | |
| 203 | + ** ignored. */ | |
| 204 | + rc = SQLITE_IGNORE; | |
| 205 | + break; | |
| 206 | + } | |
| 200 | 207 | if( fossil_strncmp(zArg1, "fx_", 3)==0 ){ |
| 201 | 208 | break; |
| 202 | 209 | } |
| 203 | 210 | for(i=0; i<count(azAllowed); i++){ |
| 204 | 211 | if( fossil_stricmp(zArg1, azAllowed[i])==0 ) break; |
| 205 | 212 |
| --- src/report.c | |
| +++ src/report.c | |
| @@ -195,10 +195,17 @@ | |
| 195 | "tag", |
| 196 | "tagxref", |
| 197 | "unversioned", |
| 198 | }; |
| 199 | int i; |
| 200 | if( fossil_strncmp(zArg1, "fx_", 3)==0 ){ |
| 201 | break; |
| 202 | } |
| 203 | for(i=0; i<count(azAllowed); i++){ |
| 204 | if( fossil_stricmp(zArg1, azAllowed[i])==0 ) break; |
| 205 |
| --- src/report.c | |
| +++ src/report.c | |
| @@ -195,10 +195,17 @@ | |
| 195 | "tag", |
| 196 | "tagxref", |
| 197 | "unversioned", |
| 198 | }; |
| 199 | int i; |
| 200 | if( zArg1==0 ){ |
| 201 | /* Some legacy versions of SQLite will sometimes send spurious |
| 202 | ** READ authorizations that have no table name. These can be |
| 203 | ** ignored. */ |
| 204 | rc = SQLITE_IGNORE; |
| 205 | break; |
| 206 | } |
| 207 | if( fossil_strncmp(zArg1, "fx_", 3)==0 ){ |
| 208 | break; |
| 209 | } |
| 210 | for(i=0; i<count(azAllowed); i++){ |
| 211 | if( fossil_stricmp(zArg1, azAllowed[i])==0 ) break; |
| 212 |