From: danielk1977 Date: Sat, 12 May 2007 06:11:12 +0000 (+0000) Subject: Bugfixes for assert() failures found by fuzz.test. (CVS 3986) X-Git-Tag: version-3.4.0~99 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cdbd8eff21a8a4ddfe1b28e6f51dc153dd9589c5;p=thirdparty%2Fsqlite.git Bugfixes for assert() failures found by fuzz.test. (CVS 3986) FossilOrigin-Name: 2e80736d57fde55b112864d8b198a9a2fe0eaa38 --- diff --git a/manifest b/manifest index df18e436b5..d0443333b6 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Check\sin\ssome\schanges\sto\sfuzz.test.\sStill\sfailing.\s(CVS\s3985) -D 2007-05-11T16:58:04 +C Bugfixes\sfor\sassert()\sfailures\sfound\sby\sfuzz.test.\s(CVS\s3986) +D 2007-05-12T06:11:12 F Makefile.in 87b200ad9970907f76df734d29dff3d294c10935 F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -70,8 +70,8 @@ F src/complete.c 7d1a44be8f37de125fcafd3d3a018690b3799675 F src/date.c 6049db7d5a8fdf2c677ff7d58fa31d4f6593c988 F src/delete.c 5c0d89b3ef7d48fe1f5124bfe8341f982747fe29 F src/experimental.c 1b2d1a6cd62ecc39610e97670332ca073c50792b -F src/expr.c d890a38c2fed16440a3360f42516061b8e3cfad3 -F src/func.c f57e0111eb0e6335d3673cd4dea3fd69aa9e8743 +F src/expr.c 2283be0ae4186fa9bb2a8a3f6b545a51ea7632bd +F src/func.c b6586f83c141859c103dd4954de66efc3fbd101b F src/hash.c 67b23e14f0257b69a3e8aa663e4eeadc1a2b6fd5 F src/hash.h 1b3f7e2609141fd571f62199fc38687d262e9564 F src/insert.c e595ca26805dfb3a9ebaabc28e7947c479f3b14d @@ -488,7 +488,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 2f70159b1d6ded4a1ac446faa3baf7269f37703f -R 0b013336ad3732dc516052d4aa155e80 +P 6f346a6be9803b84260509352315f8fa1e820490 +R 421ee1c5131718e89476168ba0bf8dd2 U danielk1977 -Z 5241c0f63790746ffd570aebaabc6267 +Z 5c7f7cde115ea23bf87a55ad3a52e94b diff --git a/manifest.uuid b/manifest.uuid index d9a825f5fb..c50bb3486e 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -6f346a6be9803b84260509352315f8fa1e820490 \ No newline at end of file +2e80736d57fde55b112864d8b198a9a2fe0eaa38 \ No newline at end of file diff --git a/src/expr.c b/src/expr.c index 8d9801fc71..5ce30b4758 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.291 2007/05/11 01:44:51 drh Exp $ +** $Id: expr.c,v 1.292 2007/05/12 06:11:12 danielk1977 Exp $ */ #include "sqliteInt.h" #include @@ -1926,7 +1926,7 @@ void sqlite3ExprCode(Parse *pParse, Expr *pExpr){ affinity = comparisonAffinity(pExpr); sqlite3VdbeAddOp(v, OP_Integer, 1, 0); - pParse->ckOffset = ckOffset+1; + pParse->ckOffset = (ckOffset ? (ckOffset+1) : 0); /* Code the from " IN (...)". The temporary table ** pExpr->iTable contains the values that make up the (...) set. diff --git a/src/func.c b/src/func.c index b2e27f6245..dcdad4e43f 100644 --- a/src/func.c +++ b/src/func.c @@ -16,7 +16,7 @@ ** sqliteRegisterBuildinFunctions() found at the bottom of the file. ** All other code has file scope. ** -** $Id: func.c,v 1.154 2007/05/10 13:23:23 drh Exp $ +** $Id: func.c,v 1.155 2007/05/12 06:11:12 danielk1977 Exp $ */ #include "sqliteInt.h" #include @@ -1424,7 +1424,7 @@ void sqlite3RegisterLikeFunctions(sqlite3 *db, int caseSensitive){ */ int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocase, char *aWc){ FuncDef *pDef; - if( pExpr->op!=TK_FUNCTION ){ + if( pExpr->op!=TK_FUNCTION || !pExpr->pList ){ return 0; } if( pExpr->pList->nExpr!=2 ){