aboutsummaryrefslogtreecommitdiff
path: root/ext/fts5/fts5_expr.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2019-12-09 02:20:37 +0000
committerdan <dan@noemail.net>2019-12-09 02:20:37 +0000
commitc19e22f397958a29a549639d66b825cf9b8379ea (patch)
tree6e8369904d2c7f6596344a541e0015eba8850fc9 /ext/fts5/fts5_expr.c
parentbf9d0996b91c158a1a0b2acda479da5380676509 (diff)
downloadsqlite-c19e22f397958a29a549639d66b825cf9b8379ea.tar.gz
sqlite-c19e22f397958a29a549639d66b825cf9b8379ea.zip
Fix possible null pointer dereferences in the fts5_expr() scalar function.
FossilOrigin-Name: c5d44143599f3fe98492b2b900fa3d77925c7be545096251055ceeab899a41f1
Diffstat (limited to 'ext/fts5/fts5_expr.c')
-rw-r--r--ext/fts5/fts5_expr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/fts5/fts5_expr.c b/ext/fts5/fts5_expr.c
index ce462af0f..d9de1c817 100644
--- a/ext/fts5/fts5_expr.c
+++ b/ext/fts5/fts5_expr.c
@@ -2516,10 +2516,12 @@ static void fts5ExprFunction(
azConfig[1] = "main";
azConfig[2] = "tbl";
for(i=3; iArg<nArg; iArg++){
- azConfig[i++] = (const char*)sqlite3_value_text(apVal[iArg]);
+ const char *z = (const char*)sqlite3_value_text(apVal[iArg]);
+ azConfig[i++] = (z ? z : "");
}
zExpr = (const char*)sqlite3_value_text(apVal[0]);
+ if( zExpr==0 ) zExpr = "";
rc = sqlite3Fts5ConfigParse(pGlobal, db, nConfig, azConfig, &pConfig, &zErr);
if( rc==SQLITE_OK ){