diff options
author | dan <dan@noemail.net> | 2019-12-09 02:20:37 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2019-12-09 02:20:37 +0000 |
commit | c19e22f397958a29a549639d66b825cf9b8379ea (patch) | |
tree | 6e8369904d2c7f6596344a541e0015eba8850fc9 /ext/fts5/fts5_expr.c | |
parent | bf9d0996b91c158a1a0b2acda479da5380676509 (diff) | |
download | sqlite-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.c | 4 |
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 ){ |