aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2002-05-23 02:09:03 +0000
committerdrh <drh@noemail.net>2002-05-23 02:09:03 +0000
commite4697f5e9031c0cb5a06a6bb4b0c8cb39a26ce7f (patch)
treeb20799197f30858b9cfb2acdea2d43668de3dccb /src/expr.c
parent1873cd508af1388cc536159aaa70a2ea83732bbd (diff)
downloadsqlite-e4697f5e9031c0cb5a06a6bb4b0c8cb39a26ce7f.tar.gz
sqlite-e4697f5e9031c0cb5a06a6bb4b0c8cb39a26ce7f.zip
Fix some places where a malloc() failure would lead to a segfault. (CVS 580)
FossilOrigin-Name: 01ad352c3c82a86d9c94010cbc85d098b8fbc08a
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 eafd09592..54b733424 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -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.61 2002/05/21 13:43:04 drh Exp $
+** $Id: expr.c,v 1.62 2002/05/23 02:09:04 drh Exp $
*/
#include "sqliteInt.h"
@@ -186,6 +186,7 @@ ExprList *sqliteExprListDup(ExprList *p){
if( pNew==0 ) return 0;
pNew->nExpr = p->nExpr;
pNew->a = sqliteMalloc( p->nExpr*sizeof(p->a[0]) );
+ if( pNew->a==0 ) return 0;
for(i=0; i<p->nExpr; i++){
pNew->a[i].pExpr = sqliteExprDup(p->a[i].pExpr);
pNew->a[i].zName = sqliteStrDup(p->a[i].zName);
@@ -203,6 +204,7 @@ IdList *sqliteIdListDup(IdList *p){
if( pNew==0 ) return 0;
pNew->nId = p->nId;
pNew->a = sqliteMalloc( p->nId*sizeof(p->a[0]) );
+ if( pNew->a==0 ) return 0;
for(i=0; i<p->nId; i++){
pNew->a[i].zName = sqliteStrDup(p->a[i].zName);
pNew->a[i].zAlias = sqliteStrDup(p->a[i].zAlias);