On Mar 19, 2009, at 8:33 PM, Kim, Albert wrote:
>
> /* The maximum page number is 2^31. Return SQLITE_CORRUPT if a page
> ** number greater than this, or zero, is requested.
> */
> if( pgno>PAGER_MAX_PGNO || pgno==0 || pgno==PAGER_MJ_PGNO(pPager) ){
> return SQLITE_CORRUPT_BKPT; <<<<<<<<<<<<<HERE
> }
>
>
> With some debug printfs I was able to see that pgno is -1 at this
> point!
pgno is an unsigned integer, so the value is really 4294967295. That
number is greater than PAGER_MAX_PGNO, which is what is causing the
SQLITE_CORRUPT to be returned.
If you can figure out who is calling pagerAcquire() with the faulty
page number, that would be helpful.
D. Richard Hipp
[email protected]
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users