diff options
author | drh <drh@noemail.net> | 2004-11-20 18:13:10 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2004-11-20 18:13:10 +0000 |
commit | 73c42a13862c92c6c7baf698a95b24a16028b3f4 (patch) | |
tree | 134a861a50975a69fa1d8bb5c4475f653e62c98c /src/expr.c | |
parent | f9c852bfd58ce9475469613a920da5f67bfa7106 (diff) | |
download | sqlite-73c42a13862c92c6c7baf698a95b24a16028b3f4.tar.gz sqlite-73c42a13862c92c6c7baf698a95b24a16028b3f4.zip |
Fix segfaults that might occur after a malloc failure. (CVS 2119)
FossilOrigin-Name: 368774487e7a0266465f5a1c2701c9b14573d26c
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c index 7567d849d..a3c8637ea 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.170 2004/11/12 03:56:15 drh Exp $ +** $Id: expr.c,v 1.171 2004/11/20 18:13:10 drh Exp $ */ #include "sqliteInt.h" #include <ctype.h> @@ -220,6 +220,9 @@ Expr *sqlite3RegisterExpr(Parse *pParse, Token *pToken){ return 0; } p = sqlite3Expr(TK_REGISTER, 0, 0, pToken); + if( p==0 ){ + return 0; /* Malloc failed */ + } depth = atoi(&pToken->z[1]); if( depth>=0 ){ p->iTable = pParse->nMem++; |