aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2020-06-26 04:34:28 +0000
committerdrh <drh@noemail.net>2020-06-26 04:34:28 +0000
commitd8d335d737682456565942f5eb9a4cac9878eae1 (patch)
tree43731c8369ea5cf390df1ac86ac87fd4e6d226fd /src/expr.c
parent0f40e8dd411513ac457a7ee76524b4b5661d6b62 (diff)
downloadsqlite-d8d335d737682456565942f5eb9a4cac9878eae1.tar.gz
sqlite-d8d335d737682456565942f5eb9a4cac9878eae1.zip
Fix a possible null pointer deref following OOM. Discovered by dbsqlfuzz.
FossilOrigin-Name: cc888878ea8d5bc754c69de523819d32d6d9853857e31d7287f9dbfd723428db
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c
index 201d53ac3..9b63a569b 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -4270,7 +4270,9 @@ expr_code_doover:
int nCol;
testcase( op==TK_EXISTS );
testcase( op==TK_SELECT );
- if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){
+ if( pParse->db->mallocFailed ){
+ return 0;
+ }else if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){
sqlite3SubselectError(pParse, nCol, 1);
}else{
return sqlite3CodeSubselect(pParse, pExpr);