aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2004-11-20 18:13:10 +0000
committerdrh <drh@noemail.net>2004-11-20 18:13:10 +0000
commit73c42a13862c92c6c7baf698a95b24a16028b3f4 (patch)
tree134a861a50975a69fa1d8bb5c4475f653e62c98c /src/expr.c
parentf9c852bfd58ce9475469613a920da5f67bfa7106 (diff)
downloadsqlite-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.c5
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++;