aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2020-01-03 20:57:38 +0000
committerdrh <drh@noemail.net>2020-01-03 20:57:38 +0000
commitc4ad849921ff0840deca5285d8934e898b1261cd (patch)
treec0ee6204bf5ea929501554418248cb1d7d3d4bd0 /src/main.c
parent9ee00200efb5377910cf47bb994c1d47ea125170 (diff)
downloadsqlite-c4ad849921ff0840deca5285d8934e898b1261cd.tar.gz
sqlite-c4ad849921ff0840deca5285d8934e898b1261cd.zip
When UNSAFE_IN_VIEW is disabled, only allow functions in views that are
tagged with SQLITE_INNOCUOUS. FossilOrigin-Name: 9ee79b254e4c51a2a41f7ed49ad389d8d7105e649483adb79772052fa0ade3c0
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index 9838b3419..5e6ff1654 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1760,7 +1760,9 @@ int sqlite3CreateFunc(
assert( SQLITE_FUNC_CONSTANT==SQLITE_DETERMINISTIC );
assert( SQLITE_FUNC_DIRECT==SQLITE_DIRECTONLY );
- extraFlags = enc & (SQLITE_DETERMINISTIC|SQLITE_DIRECTONLY|SQLITE_SUBTYPE);
+ assert( SQLITE_FUNC_SAFE==SQLITE_INNOCUOUS );
+ extraFlags = enc & (SQLITE_DETERMINISTIC|SQLITE_DIRECTONLY|
+ SQLITE_SUBTYPE|SQLITE_INNOCUOUS);
enc &= (SQLITE_FUNC_ENCMASK|SQLITE_ANY);
#ifndef SQLITE_OMIT_UTF16