Fossil SCM

Do not make authorizer SQLITE_READ calls on transient internal tables.

drh 2019-08-07 13:22 trunk
Commit b26967cfcb58f2434ae99c719f786005f3957cf0cc2ee1068f9b9efd0cc62d3a
1 file changed +7
--- src/report.c
+++ src/report.c
@@ -195,10 +195,17 @@
195195
"tag",
196196
"tagxref",
197197
"unversioned",
198198
};
199199
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
+ }
200207
if( fossil_strncmp(zArg1, "fx_", 3)==0 ){
201208
break;
202209
}
203210
for(i=0; i<count(azAllowed); i++){
204211
if( fossil_stricmp(zArg1, azAllowed[i])==0 ) break;
205212
--- 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

Keyboard Shortcuts

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