aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordrh <>2021-04-26 15:28:06 +0000
committerdrh <>2021-04-26 15:28:06 +0000
commit3c6edc8a11cc1eeebb98fb5a009e9ba773b237e2 (patch)
treed1c961dff2f0291e9e3dd7a232d497837c271e4b /src/resolve.c
parent8ed8ddf759ea846e880880ba1c8089027af4bdc7 (diff)
downloadsqlite-3c6edc8a11cc1eeebb98fb5a009e9ba773b237e2.tar.gz
sqlite-3c6edc8a11cc1eeebb98fb5a009e9ba773b237e2.zip
More aggressive detection of OOM errors in resolveAlias().
dbsqlfuzz 7f96832c2ef7ee472022ed805b064e55e41094b2 FossilOrigin-Name: e99faf4f82746761c389e24db1b00ee94b9f849e7bcb29517fa0ca10290afc41
Diffstat (limited to 'src/resolve.c')
-rw-r--r--src/resolve.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/resolve.c b/src/resolve.c
index a5253b57c..242aca1ae 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -81,7 +81,10 @@ static void resolveAlias(
assert( pOrig!=0 );
db = pParse->db;
pDup = sqlite3ExprDup(db, pOrig, 0);
- if( pDup!=0 ){
+ if( db->mallocFailed ){
+ sqlite3ExprDelete(db, pDup);
+ pDup = 0;
+ }else{
incrAggFunctionDepth(pDup, nSubquery);
if( pExpr->op==TK_COLLATE ){
pDup = sqlite3ExprAddCollateString(pParse, pDup, pExpr->u.zToken);