aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2017-03-12 20:28:44 +0000
committerdrh <drh@noemail.net>2017-03-12 20:28:44 +0000
commitba28b5ab0a73e80522d279eb651ac92f4c861bfe (patch)
tree6899b9b955780b21b83d8d60b432085b8559cc04 /src/expr.c
parent1ed1e616f7930c919d7f7166a232389c2f28edc6 (diff)
downloadsqlite-ba28b5ab0a73e80522d279eb651ac92f4c861bfe.tar.gz
sqlite-ba28b5ab0a73e80522d279eb651ac92f4c861bfe.zip
Fix a possible NULL pointer dereference in following an OOM error
in sqlite3ExprIsInteger(). Problem found by OSS-Fuzz. FossilOrigin-Name: 5ec655e8e817c1ed3bfb2e576745a7cef441494ad7baf1bf9f8895e98ac19c5a
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index e074f2f44..ce948be69 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -1860,6 +1860,7 @@ int sqlite3ExprContainsSubquery(Expr *p){
*/
int sqlite3ExprIsInteger(Expr *p, int *pValue){
int rc = 0;
+ if( p==0 ) return 0; /* Can only happen following on OOM */
/* If an expression is an integer literal that fits in a signed 32-bit
** integer, then the EP_IntValue flag will have already been set */