aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2007-09-06 23:39:36 +0000
committerdrh <drh@noemail.net>2007-09-06 23:39:36 +0000
commit7dc385ee8524e992b176e8aa535adf7bcdbd31e3 (patch)
tree9abdde6152865684ab9fe6ad185d33ca7bf4ef1d /src
parent334b299462620840b11599053493f3176c2ac922 (diff)
downloadsqlite-7dc385ee8524e992b176e8aa535adf7bcdbd31e3.tar.gz
sqlite-7dc385ee8524e992b176e8aa535adf7bcdbd31e3.zip
Throw an error on an attempt to open a database where the page
size is larger than SQLITE_MAX_PAGE_SIZE. Ticket #2628. (CVS 4411) FossilOrigin-Name: 4881f7cb37e35dcf5da358464ac858a508128e47
Diffstat (limited to 'src')
-rw-r--r--src/btree.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/btree.c b/src/btree.c
index 5f672082c..c33589ee6 100644
--- a/src/btree.c
+++ b/src/btree.c
@@ -9,7 +9,7 @@
** May you share freely, never taking more than you give.
**
*************************************************************************
-** $Id: btree.c,v 1.423 2007/09/06 22:19:15 drh Exp $
+** $Id: btree.c,v 1.424 2007/09/06 23:39:37 drh Exp $
**
** This file implements a external (disk-based) database using BTrees.
** See the header comment on "btreeInt.h" for additional information.
@@ -1647,7 +1647,9 @@ static int lockBtree(BtShared *pBt){
goto page1_init_failed;
}
pageSize = get2byte(&page1[16]);
- if( ((pageSize-1)&pageSize)!=0 || pageSize<512 ){
+ if( ((pageSize-1)&pageSize)!=0 || pageSize<512 ||
+ (SQLITE_MAX_PAGE_SIZE<32768 && pageSize>SQLITE_MAX_PAGE_SIZE)
+ ){
goto page1_init_failed;
}
assert( (pageSize & 7)==0 );