/ Check-in [15d88edf]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Port the corruption bug fix of check-in (5938) into a branch off of version 3.6.6. (CVS 5947)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | branch_3_6_6
Files: files | file ages | folders
SHA1: 15d88edf7671822c57238c3f85adf0b40b13e3e2
User & Date: drh 2008-11-22 14:07:49
Original Comment: Port the corruption bug fix of check-in (5938) into a branch off of version 3.6.6. (CVS 5947)
Context
2008-11-22
15:51
Version 3.6.6.1 (CVS 5948) check-in: c2266aa0 user: drh tags: branch_3_6_6
14:07
Port the corruption bug fix of check-in (5938) into a branch off of version 3.6.6. (CVS 5947) check-in: 15d88edf user: drh tags: branch_3_6_6
2008-11-20
18:20
When a memory allocation fails on the %Q conversion in sqlite3_mprintf(), make sure the error is reported back up the call stack. (CVS 5933) check-in: eebacbc9 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to VERSION.

1
3.6.6
|
1
3.6.6.1

Changes to src/btree.c.

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
....
4300
4301
4302
4303
4304
4305
4306

4307
4308
4309


4310
4311
4312
4313
4314
4315
4316
** a legal notice, here is a blessing:
**
**    May you do good and not evil.
**    May you find forgiveness for yourself and forgive others.
**    May you share freely, never taking more than you give.
**
*************************************************************************
** $Id: btree.c,v 1.539 2008/11/19 10:22:33 danielk1977 Exp $
**
** This file implements a external (disk-based) database using BTrees.
** See the header comment on "btreeInt.h" for additional information.
** Including a description of file format and an overview of operation.
*/
#include "btreeInt.h"

................................................................................
  }

  assert( *pPgno!=PENDING_BYTE_PAGE(pBt) );

end_allocate_page:
  releasePage(pTrunk);
  releasePage(pPrevTrunk);

  if( rc==SQLITE_OK && sqlite3PagerPageRefcount((*ppPage)->pDbPage)>1 ){
    releasePage(*ppPage);
    return SQLITE_CORRUPT_BKPT;


  }
  return rc;
}

/*
** Add a page of the database file to the freelist.
**







|







 







>
|
|
|
>
>







5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
....
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
** a legal notice, here is a blessing:
**
**    May you do good and not evil.
**    May you find forgiveness for yourself and forgive others.
**    May you share freely, never taking more than you give.
**
*************************************************************************
** $Id: btree.c,v 1.539.2.1 2008/11/22 14:07:49 drh Exp $
**
** This file implements a external (disk-based) database using BTrees.
** See the header comment on "btreeInt.h" for additional information.
** Including a description of file format and an overview of operation.
*/
#include "btreeInt.h"

................................................................................
  }

  assert( *pPgno!=PENDING_BYTE_PAGE(pBt) );

end_allocate_page:
  releasePage(pTrunk);
  releasePage(pPrevTrunk);
  if( rc==SQLITE_OK ){
    if( sqlite3PagerPageRefcount((*ppPage)->pDbPage)>1 ){
      releasePage(*ppPage);
      return SQLITE_CORRUPT_BKPT;
    }
    (*ppPage)->isInit = 0;
  }
  return rc;
}

/*
** Add a page of the database file to the freelist.
**