-C Cherry-pick\sthe\sfix\sto\ssurplus\soverflow\sfiles\sin\sthe\smultiplexor,\ncheck-in\s[1238619756c0c]\sin\sthe\strunk.
-D 2012-01-09T14:57:38.826
+C Cherrypick\sthe\sfix\sfrom\s[629108c8e5376f989]\sinto\sthe\snx-devkit\sbranch.
+D 2012-01-20T15:05:05.042
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 5b4a3e12a850b021547e43daf886b25133b44c07
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F src/os_os2.c 4a75888ba3dfc820ad5e8177025972d74d7f2440
F src/os_unix.c baad28b27adc563579170b6d765af0b0cc1d98c8
F src/os_win.c 823f55855ceb062d72231409b828d0486f09125f
-F src/pager.c 6277bebe07ac45bc99fb912ec105f913be804a83
+F src/pager.c afadbdf1563265756c3d09f2f77f541d6a1cfa73
F src/pager.h 5cd760857707529b403837d813d86b68938d6183
F src/parse.y 12b7ebd61ea54f0e1b1083ff69cc2c8ce9353d58
F src/pcache.c 1fdd77978c1525d1ca4b9ef48eb80abca710cb4c
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
-P 42f31f190a0ac971fa0ee361fe4c175f479c75e3
-R 33443288608b606d75feb07d292cfeb5
+P 2f8c62c3378a702fa623a2880a989d958eece0df
+R 15df81aa2239c7d8195d068c3097f5bb
U drh
-Z ff62211e5ddd93259287a913f2fd089b
+Z 14b067267cbd9f1c1104b537a1a48842
if( rc==SQLITE_OK && currentSize!=newSize ){
if( currentSize>newSize ){
rc = sqlite3OsTruncate(pPager->fd, newSize);
- }else{
+ }else if( (currentSize+szPage)<=newSize ){
char *pTmp = pPager->pTmpSpace;
memset(pTmp, 0, szPage);
testcase( (newSize-szPage) < currentSize );
return rc;
}
}
- nPage = (Pgno)(n / pPager->pageSize);
+ nPage = (Pgno)((n+pPager->pageSize-1) / pPager->pageSize);
if( nPage==0 && n>0 ){
nPage = 1;
}
if( rc==SQLITE_OK ){
pager_reset(pPager);
- pPager->dbSize = (Pgno)(nByte/pageSize);
+ pPager->dbSize = (Pgno)((nByte+pageSize-1)/pageSize);
pPager->pageSize = pageSize;
sqlite3PageFree(pPager->pTmpSpace);
pPager->pTmpSpace = pNew;