SQLite

Check-in [7609744014]
Login

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

Overview
Comment:Fix to payload size overflow detection in the cellSizePtr() change of the previous check-in.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 7609744014c6a84a8379794a0351a2e9626ec86b
User & Date: drh 2014-09-22 20:38:10.316
Context
2014-09-23
01:40
Adjust skip-scan cost estimates slightly so that a full table scan is preferred over a skip-scan to a column with only two distinct values. (check-in: ae9a42b268 user: drh tags: trunk)
2014-09-22
20:38
Fix to payload size overflow detection in the cellSizePtr() change of the previous check-in. (check-in: 7609744014 user: drh tags: trunk)
19:51
Size reduction and substantial performance increase for cellSizePtr(). (check-in: bc8bbf3207 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/btree.c.
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
  if( pPage->intKey==0 || pPage->hasData ){
    nSize = *pIter;
    if( nSize>=0x80 ){
      pEnd = &pIter[9];
      nSize &= 0x7f;
      do{
        nSize = (nSize<<7) | (*++pIter & 0x7f);
      }while( *(pIter)>=0x80 && pIter<&pCell[6] );
    }
    pIter++;
  }else{
    nSize = 0;
  }
  if( pPage->intKey ){
    /* pIter now points at the 64-bit integer key value, a variable length 







|







1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
  if( pPage->intKey==0 || pPage->hasData ){
    nSize = *pIter;
    if( nSize>=0x80 ){
      pEnd = &pIter[9];
      nSize &= 0x7f;
      do{
        nSize = (nSize<<7) | (*++pIter & 0x7f);
      }while( *(pIter)>=0x80 && pIter<pEnd );
    }
    pIter++;
  }else{
    nSize = 0;
  }
  if( pPage->intKey ){
    /* pIter now points at the 64-bit integer key value, a variable length