1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-08 03:22:21 +03:00

Fix some issues with out-of-memory recovery. (CVS 4710)

FossilOrigin-Name: 23181f86896e7c9e993e00032e735e67ee6b2e71
This commit is contained in:
drh
2008-01-13 19:02:11 +00:00
parent 949f9cd565
commit 0e359b30a9
5 changed files with 16 additions and 15 deletions

View File

@@ -12,7 +12,7 @@
** This file contains routines used for analyzing expressions and
** for generating VDBE code that evaluates expressions in SQLite.
**
** $Id: expr.c,v 1.344 2008/01/12 19:03:49 drh Exp $
** $Id: expr.c,v 1.345 2008/01/13 19:02:11 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -2418,7 +2418,8 @@ int sqlite3ExprCodeTemp(Parse *pParse, Expr *pExpr, int *pReg){
*/
int sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){
int inReg = sqlite3ExprCodeTarget(pParse, pExpr, target);
if( inReg!=target ){
assert( pParse->pVdbe || pParse->db->mallocFailed );
if( inReg!=target && pParse->pVdbe ){
sqlite3VdbeAddOp2(pParse->pVdbe, (inReg>0 ? OP_SCopy : OP_Move),
inReg, target);
}