]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix an array index that is out of bounds. Ticket #1251. (CVS 2462)
authordrh <drh@noemail.net>
Thu, 19 May 2005 01:26:14 +0000 (01:26 +0000)
committerdrh <drh@noemail.net>
Thu, 19 May 2005 01:26:14 +0000 (01:26 +0000)
FossilOrigin-Name: bcf87e4d1681d6c2856e716aae0135c2b14989d8

manifest
manifest.uuid
src/where.c

index abd20d3e80b340473d89ee56633df5bf4f3cf027..0c6b43ff302ebc12fa085803c57ef4911ba8eaab 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Provide\sa\scompile-time\sparameter\sto\sset\sthe\sdefault\sfile\screation\spermissions\nunder\sUnix.\s\sTicket\s#1247.\s(CVS\s2461)
-D 2005-05-17T11:25:32
+C Fix\san\sarray\sindex\sthat\sis\sout\sof\sbounds.\s\sTicket\s#1251.\s(CVS\s2462)
+D 2005-05-19T01:26:14
 F Makefile.in 5c00d0037104de2a50ac7647a5f12769795957a3
 F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -81,7 +81,7 @@ F src/vdbeInt.h 4afaae2f4adcab54ad2a40dabb2e689fba7b1561
 F src/vdbeapi.c 87f363c9c6a32a403d22dda6d594d3548775a0d5
 F src/vdbeaux.c b4d9b9a9d87254a279a88e3f91d0db048071c856
 F src/vdbemem.c 4e853ce3151eaf7906150da85a1b3ce1fe5e8da8
-F src/where.c 836906aeb19f2da270ce760ebebc4ac5aa924c8d
+F src/where.c f02baff03e2a9ed7bdc36b363b8e4024a94de919
 F tclinstaller.tcl 046e3624671962dc50f0481d7c25b38ef803eb42
 F test/all.test 7f0988442ab811dfa41793b5b550f5828ce316f3
 F test/alter.test 9d6837a3d946b73df692b7cef2a7644d2e2f6bc6
@@ -279,7 +279,7 @@ F www/tclsqlite.tcl 425be741b8ae664f55cb1ef2371aab0a75109cf9
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
 F www/whentouse.tcl 528299b8316726dbcc5548e9aa0648c8b1bd055b
-P 582cb77d72031f78b560f67222a0e6ce5e3ca3f2
-R f86563d37c0f4ff3d3482c5acc233171
+P bfa55bec3233eed899606c309773f441857605ae
+R 6bd0eeb9bbf9503fb459ead1e3a1f2eb
 U drh
-Z 51bafd4fe83db37b3595598eb6a48d4f
+Z d79050c6ee7e2ea7fc2cb669622669c8
index af93ed64c6c7931592e6f13da414cedcc97a63ac..2733ebeb51b8515b459e0ccae4e973e379deb7ac 100644 (file)
@@ -1 +1 @@
-bfa55bec3233eed899606c309773f441857605ae
\ No newline at end of file
+bcf87e4d1681d6c2856e716aae0135c2b14989d8
\ No newline at end of file
index 48ad161a7ceea1038324a8091bf47c480f83debc..3987d17aeb44219bca7960a44b73c091d7c56453 100644 (file)
@@ -16,7 +16,7 @@
 ** so is applicable.  Because this module is responsible for selecting
 ** indices, you might also think of this module as the "query optimizer".
 **
-** $Id: where.c,v 1.137 2005/04/22 02:38:38 drh Exp $
+** $Id: where.c,v 1.138 2005/05/19 01:26:14 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -793,7 +793,7 @@ WhereInfo *sqlite3WhereBegin(
              && (pTerm->prereqRight & loopMask)==pTerm->prereqRight ){
           int iColumn = pX->pLeft->iColumn;
           int k;
-          char idxaff = pIdx->pTable->aCol[iColumn].affinity
+          char idxaff = iColumn>=0 ? pIdx->pTable->aCol[iColumn].affinity : 0
           for(k=0; k<pIdx->nColumn; k++){
             /* If the collating sequences or affinities don't match, 
             ** ignore this index.  */