diff options
author | drh <> | 2021-04-26 15:28:06 +0000 |
---|---|---|
committer | drh <> | 2021-04-26 15:28:06 +0000 |
commit | 3c6edc8a11cc1eeebb98fb5a009e9ba773b237e2 (patch) | |
tree | d1c961dff2f0291e9e3dd7a232d497837c271e4b /src/resolve.c | |
parent | 8ed8ddf759ea846e880880ba1c8089027af4bdc7 (diff) | |
download | sqlite-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.c | 5 |
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); |