aboutsummaryrefslogtreecommitdiff
path: root/src/callback.c
diff options
context:
space:
mode:
authordrh <>2021-10-07 13:40:29 +0000
committerdrh <>2021-10-07 13:40:29 +0000
commitf9751074377d444231f7e9a05404a87051f10c8a (patch)
tree0bc16bb38d130a22c65fcd4f501f72eeef2ce790 /src/callback.c
parent78b2fa8610bd2d149af7746faa79f095e505550c (diff)
downloadsqlite-f9751074377d444231f7e9a05404a87051f10c8a.tar.gz
sqlite-f9751074377d444231f7e9a05404a87051f10c8a.zip
Protect all accesses to the FuncDef.u and Expr.u unions using nearby
assert()s or branches. FossilOrigin-Name: 9af863f065e0bef491c2ab7525194505f9516f4e6dfc789d2e3a9d2c2438533a
Diffstat (limited to 'src/callback.c')
-rw-r--r--src/callback.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/callback.c b/src/callback.c
index 421cef281..936c374ab 100644
--- a/src/callback.c
+++ b/src/callback.c
@@ -337,6 +337,7 @@ FuncDef *sqlite3FunctionSearch(
){
FuncDef *p;
for(p=sqlite3BuiltinFunctions.a[h]; p; p=p->u.pHash){
+ assert( p->funcFlags & SQLITE_FUNC_BUILTIN );
if( sqlite3StrICmp(p->zName, zFunc)==0 ){
return p;
}
@@ -358,6 +359,7 @@ void sqlite3InsertBuiltinFuncs(
int nName = sqlite3Strlen30(zName);
int h = SQLITE_FUNC_HASH(zName[0], nName);
assert( zName[0]>='a' && zName[0]<='z' );
+ assert( aDef[i].funcFlags & SQLITE_FUNC_BUILTIN );
pOther = sqlite3FunctionSearch(h, zName);
if( pOther ){
assert( pOther!=&aDef[i] && pOther->pNext!=&aDef[i] );