Another case of returning SQLITE_CORRUPT when a corrupt database file

is detected. (CVS 2374)

FossilOrigin-Name: 8710192797b5b22f29b2af90198d03664665bd83
This commit is contained in:
drh 2005-03-10 17:06:34 +00:00
parent 75ea0289cc
commit 6575a222d5
3 changed files with 11 additions and 8 deletions

View File

@ -1,5 +1,5 @@
C Fix\sa\sproblem\swith\scrashtest\scaused\sby\sthe\sF_FULLSYNC\schange.\s(CVS\s2373)
D 2005-03-10T14:32:24
C Another\scase\sof\sreturning\sSQLITE_CORRUPT\swhen\sa\scorrupt\sdatabase\sfile\nis\sdetected.\s(CVS\s2374)
D 2005-03-10T17:06:34
F Makefile.in 76443a83549d1539105e12d13bd0054a05ab2214
F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1
@ -30,7 +30,7 @@ F sqlite3.pc.in 985b9bf34192a549d7d370e0f0b6b34a4f61369a
F src/alter.c 6dab3d91aa4bf5c24e874145a2a547070c8c1883
F src/attach.c f78f76bc6a8e5e487ca53636e21ccba2484a9a61
F src/auth.c 18c5a0befe20f3a58a41e3ddd78f372faeeefe1f
F src/btree.c 448cd6280f18ef5723a177c4073319b1c65c86ad
F src/btree.c fab5b169d25fef5a274b41edeff3f83eaa70fae2
F src/btree.h 2e2cc923224649337d7217df0dd32b06673ca180
F src/build.c a8792b2f866c1ccc32f4977f4ff61d787d60ddfb
F src/date.c f3d1f5cd1503dabf426a198f3ebef5afbc122a7f
@ -274,7 +274,7 @@ F www/tclsqlite.tcl e73f8f8e5f20e8277619433f7970060ab01088fc
F www/vdbe.tcl 095f106d93875c94b47367384ebc870517431618
F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
F www/whentouse.tcl 3e522a06ad41992023c80ca29a048ae2331ca5bd
P 58b8733b96165126ee8514f2ce0f88d249792847
R 7c3755da24954bf79b157dfc3996d553
P f11c6e745200525056ae7cf97b4bdf1c7f1db588
R aa18e74905e6647a1e0144af5f38bdf8
U drh
Z 2f557b16610c5d04437773448ce6fd62
Z bdb3fe47d96b133342ba5ece7facc36d

View File

@ -1 +1 @@
f11c6e745200525056ae7cf97b4bdf1c7f1db588
8710192797b5b22f29b2af90198d03664665bd83

View File

@ -9,7 +9,7 @@
** May you share freely, never taking more than you give.
**
*************************************************************************
** $Id: btree.c,v 1.250 2005/03/09 13:09:44 danielk1977 Exp $
** $Id: btree.c,v 1.251 2005/03/10 17:06:34 drh Exp $
**
** This file implements a external (disk-based) database using BTrees.
** For a detailed discussion of BTrees, refer to
@ -2378,6 +2378,9 @@ static int getPayload(
int sqlite3BtreeKey(BtCursor *pCur, u32 offset, u32 amt, void *pBuf){
assert( pCur->isValid );
assert( pCur->pPage!=0 );
if( pCur->pPage->intKey ){
return SQLITE_CORRUPT;
}
assert( pCur->pPage->intKey==0 );
assert( pCur->idx>=0 && pCur->idx<pCur->pPage->nCell );
return getPayload(pCur, offset, amt, (unsigned char*)pBuf, 0);