]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove an assert() from vdbeaux.c that might not be true if the database
authordrh <drh@noemail.net>
Wed, 15 Jul 2009 16:30:50 +0000 (16:30 +0000)
committerdrh <drh@noemail.net>
Wed, 15 Jul 2009 16:30:50 +0000 (16:30 +0000)
file is corrupt. (CVS 6895)

FossilOrigin-Name: a42dc51e3bd258d5a357e557251fb2642708ceac

manifest
manifest.uuid
src/vdbeaux.c

index 4b6fae2ac21fb961f493d59d7379a31d5417589e..c013d56e2549806c16f4a10f3e53d557e687d3ce 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Added\sthe\sSQLITE_TESTCTRL_RESERVE\soption\sto\ssqlite3_test_control().\nSimplifications\sto\sbtree.c\sto\sfacilitate\sstructural\scoverage\stesting.\s(CVS\s6894)
-D 2009-07-15T11:26:44
+C Remove\san\sassert()\sfrom\svdbeaux.c\sthat\smight\snot\sbe\strue\sif\sthe\sdatabase\nfile\sis\scorrupt.\s(CVS\s6895)
+D 2009-07-15T16:30:50
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in df9359da7a726ccb67a45db905c5447d5c00c6ef
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -208,7 +208,7 @@ F src/vdbe.c b6fadd91f509fbcb9108f1d1a5e0985735fb315d
 F src/vdbe.h 35a648bc3279a120da24f34d9a25213ec15daf8a
 F src/vdbeInt.h 831c254a6eef237ef4664c8381a0137586567007
 F src/vdbeapi.c 0ab8ada7260b32031ca97f338caecf0812460624
-F src/vdbeaux.c 1c3b0698073ddeab7bedc588b13e3fc441346b9e
+F src/vdbeaux.c 5c2ad56759d606f7fcdca7ced0390c9ea8bb5f7f
 F src/vdbeblob.c a3f3e0e877fc64ea50165eec2855f5ada4477611
 F src/vdbemem.c 1618f685d19b4bcc96e40b3c478487bafd2ae246
 F src/vtab.c 00902f289521041712fb0293d0bf8688c7af8e48
@@ -740,7 +740,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl 672f81d693a03f80f5ae60bfefacd8a349e76746
-P 0c710c1be537127511d95b5b261c7bf26e1bc952
-R fa83113fa396566b08a5d7758ddff6ee
+P cfbeda1b3126503e9631471ce4713e25b007859f
+R d6155ec47b65f864575de01cbf0050eb
 U drh
-Z 0062b335ba599f8c6b5dce4f0649d58c
+Z 0b9e2d4ca82b865798da8f05eede3fbb
index 5b39276930c90bff6abeb7feafe0c4ff908a6ee4..52a997eedd7359c02f6396808278264ab1d23bfe 100644 (file)
@@ -1 +1 @@
-cfbeda1b3126503e9631471ce4713e25b007859f
\ No newline at end of file
+a42dc51e3bd258d5a357e557251fb2642708ceac
\ No newline at end of file
index 381906fa08d022d813097693ed2e6892bc5732c0..5d9e9506b44bf9c80bd48c8d2d6c72c90e049a40 100644 (file)
@@ -14,7 +14,7 @@
 ** to version 2.8.7, all this code was combined into the vdbe.c source file.
 ** But that file was getting too big so this subroutines were split out.
 **
-** $Id: vdbeaux.c,v 1.474 2009/07/14 18:35:46 drh Exp $
+** $Id: vdbeaux.c,v 1.475 2009/07/15 16:30:50 drh Exp $
 */
 #include "sqliteInt.h"
 #include "vdbeInt.h"
@@ -2420,11 +2420,10 @@ UnpackedRecord *sqlite3VdbeRecordUnpack(
   idx = getVarint32(aKey, szHdr);
   d = szHdr;
   u = 0;
-  while( idx<szHdr && u<p->nField ){
+  while( idx<szHdr && u<p->nField && d<=nKey ){
     u32 serial_type;
 
     idx += getVarint32(&aKey[idx], serial_type);
-    assert( d+sqlite3VdbeSerialTypeLen(serial_type) <= nKey );
     pMem->enc = pKeyInfo->enc;
     pMem->db = pKeyInfo->db;
     pMem->flags = 0;