diff options
author | drh <drh@noemail.net> | 2002-05-23 02:09:03 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2002-05-23 02:09:03 +0000 |
commit | e4697f5e9031c0cb5a06a6bb4b0c8cb39a26ce7f (patch) | |
tree | b20799197f30858b9cfb2acdea2d43668de3dccb /src/expr.c | |
parent | 1873cd508af1388cc536159aaa70a2ea83732bbd (diff) | |
download | sqlite-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.c | 4 |
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); |