aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/alter.c1
-rw-r--r--src/expr.c5
2 files changed, 5 insertions, 1 deletions
diff --git a/src/alter.c b/src/alter.c
index 8fc9b1096..f358dcb0a 100644
--- a/src/alter.c
+++ b/src/alter.c
@@ -831,6 +831,7 @@ static void renameWalkWith(Walker *pWalker, Select *pSelect){
memset(&sNC, 0, sizeof(sNC));
sNC.pParse = pParse;
if( pCopy ) sqlite3SelectPrep(sNC.pParse, p, &sNC);
+ if( sNC.pParse->db->mallocFailed ) return;
sqlite3WalkSelect(pWalker, p);
sqlite3RenameExprlistUnmap(pParse, pWith->a[i].pCols);
}
diff --git a/src/expr.c b/src/expr.c
index baa1fce3d..5b7a58fb5 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -518,7 +518,10 @@ Expr *sqlite3ExprForVectorField(
}else{
if( pVector->op==TK_VECTOR ) pVector = pVector->x.pList->a[iField].pExpr;
pRet = sqlite3ExprDup(pParse->db, pVector, 0);
- sqlite3RenameTokenRemap(pParse, pRet, pVector);
+ if( IN_RENAME_OBJECT && pRet ){
+ SWAP(Expr, *pRet, *pVector);
+ sqlite3RenameTokenRemap(pParse, pRet, pVector);
+ }
}
return pRet;
}