SQLite

Check-in [163c870950]
Login

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

Overview
Comment:Abort on an invalid paramater to sqlite3BitvecSet().
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | begin-concurrent
Files: files | file ages | folders
SHA3-256: 163c870950f386f6b0bb1ff9b3886cf95ba0deed414cae75baf87621ed3528c2
User & Date: drh 2017-12-11 14:02:10.998
Context
2018-03-02
17:40
Merge latest trunk changes into this branch. (check-in: 36801effa9 user: dan tags: begin-concurrent)
2017-12-12
18:17
Merge latest begin-concurrent changes into this branch. (check-in: 3fde0b4d05 user: dan tags: begin-concurrent-pnu)
2017-12-11
14:02
Abort on an invalid paramater to sqlite3BitvecSet(). (check-in: 163c870950 user: drh tags: begin-concurrent)
2017-11-14
20:06
Merge changes from trunk. This fixes the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. (check-in: d90e5f346b user: dan tags: begin-concurrent)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/bitvec.c.
171
172
173
174
175
176
177

178
179
180
181
182
183
184
  if( p==0 ) return SQLITE_OK;
  assert( i>0 );
  assert( i<=p->iSize );
  if( i>p->iSize || i==0 ){
    sqlite3_log(SQLITE_ERROR, 
        "Bitvec: setting bit %d of bitvec size %d\n", (int)i, (int)p->iSize
    );

  }
  i--;
  while((p->iSize > BITVEC_NBIT) && p->iDivisor) {
    u32 bin = i/p->iDivisor;
    i = i%p->iDivisor;
    if( p->u.apSub[bin]==0 ){
      p->u.apSub[bin] = sqlite3BitvecCreate( p->iDivisor );







>







171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
  if( p==0 ) return SQLITE_OK;
  assert( i>0 );
  assert( i<=p->iSize );
  if( i>p->iSize || i==0 ){
    sqlite3_log(SQLITE_ERROR, 
        "Bitvec: setting bit %d of bitvec size %d\n", (int)i, (int)p->iSize
    );
    abort();
  }
  i--;
  while((p->iSize > BITVEC_NBIT) && p->iDivisor) {
    u32 bin = i/p->iDivisor;
    i = i%p->iDivisor;
    if( p->u.apSub[bin]==0 ){
      p->u.apSub[bin] = sqlite3BitvecCreate( p->iDivisor );