Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | In the recovery extension, if a payload size is unreasonably large, it is probably corrupt, so truncate it. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
988c3179e978a3a6d42541e9c7a2ab98 |
User & Date: | drh 2023-11-29 13:47:46.693 |
Context
2023-11-30
| ||
10:00 | Update some OPFS-related help text in WASM tests. Minor cleanups in speedtest1-worker.js. (check-in: 263f6d3a77 user: stephan tags: trunk) | |
2023-11-29
| ||
13:47 | In the recovery extension, if a payload size is unreasonably large, it is probably corrupt, so truncate it. (check-in: 988c3179e9 user: drh tags: trunk) | |
02:45 | The assertion change at check-in [7946c79567b0ccd3] is insufficient to fix the problem of a Table object being deleted out from under the OP_VCheck opcode. We need to reference count the Table, which is accomplished here. (check-in: cad269d5e2 user: drh tags: trunk) | |
Changes
Changes to ext/recover/dbdata.c.
︙ | ︙ | |||
578 579 580 581 582 583 584 585 586 587 588 589 590 591 | iOff += nPointer; /* Load the "byte of payload including overflow" field */ if( bNextPage || iOff>pCsr->nPage ){ bNextPage = 1; }else{ iOff += dbdataGetVarintU32(&pCsr->aPage[iOff], &nPayload); } /* If this is a leaf intkey cell, load the rowid */ if( bHasRowid && !bNextPage && iOff<pCsr->nPage ){ iOff += dbdataGetVarint(&pCsr->aPage[iOff], &pCsr->iIntkey); } | > | 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 | iOff += nPointer; /* Load the "byte of payload including overflow" field */ if( bNextPage || iOff>pCsr->nPage ){ bNextPage = 1; }else{ iOff += dbdataGetVarintU32(&pCsr->aPage[iOff], &nPayload); if( nPayload>0x7fffff00 ) nPayload &= 0x3fff; } /* If this is a leaf intkey cell, load the rowid */ if( bHasRowid && !bNextPage && iOff<pCsr->nPage ){ iOff += dbdataGetVarint(&pCsr->aPage[iOff], &pCsr->iIntkey); } |
︙ | ︙ |