]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Bugfixes for assert() failures found by fuzz.test. (CVS 3986)
authordanielk1977 <danielk1977@noemail.net>
Sat, 12 May 2007 06:11:12 +0000 (06:11 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Sat, 12 May 2007 06:11:12 +0000 (06:11 +0000)
FossilOrigin-Name: 2e80736d57fde55b112864d8b198a9a2fe0eaa38

manifest
manifest.uuid
src/expr.c
src/func.c

index df18e436b57dd00bf55563039f9b72ff2dd47d36..d0443333b6c914d23392ae1b5627cdb7d2914fd5 100644 (file)
--- 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
index d9a825f5fbd12922583a253925b9bf6bfabf3225..c50bb3486e07bd95523f3468569686cb81399a7c 100644 (file)
@@ -1 +1 @@
-6f346a6be9803b84260509352315f8fa1e820490
\ No newline at end of file
+2e80736d57fde55b112864d8b198a9a2fe0eaa38
\ No newline at end of file
index 8d9801fc7142eff071bc9a129445da58844dedae..5ce30b47582e237d2677b4a329bd6f7792fe7e77 100644 (file)
@@ -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 <ctype.h>
@@ -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 <expr> from "<expr> IN (...)". The temporary table
       ** pExpr->iTable contains the values that make up the (...) set.
index b2e27f62451696d74cb9cfc9c3051315a43f2ab5..dcdad4e43fba0cdb358f63fab0220f462437627d 100644 (file)
@@ -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 <ctype.h>
@@ -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 ){