/ Check-in [fdb66733]
Login

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

Overview
Comment:Make sure the WhereTerm objects are fully zeroed when they are allocated.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: fdb667335c2250239a66143aec4235325dec8274
User & Date: drh 2014-12-05 19:50:58
Context
2014-12-05
20:46
Add new test file e_walckpt.test. Still some tests to come. check-in: e4db3db3 user: dan tags: trunk
20:16
Merge the shared-cache KeyInfo fix from trunk. check-in: 8a9b43f9 user: drh tags: apple-osx
20:05
Merge the fix for the shared-cache KeyInfo cache bug from trunk. check-in: 5a73da6a user: drh tags: sessions
19:50
Make sure the WhereTerm objects are fully zeroed when they are allocated. check-in: fdb66733 user: drh tags: trunk
15:31
The KeyInfo cache must be cleared before closing the btree, not after. Revised fix for ticket [e4a18565a36884b00edf]. check-in: 7ed3346e user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/where.c.

218
219
220
221
222
223
224

225
226
227
228
229
230
231
      return 0;
    }
    memcpy(pWC->a, pOld, sizeof(pWC->a[0])*pWC->nTerm);
    if( pOld!=pWC->aStatic ){
      sqlite3DbFree(db, pOld);
    }
    pWC->nSlot = sqlite3DbMallocSize(db, pWC->a)/sizeof(pWC->a[0]);

  }
  pTerm = &pWC->a[idx = pWC->nTerm++];
  if( p && ExprHasProperty(p, EP_Unlikely) ){
    pTerm->truthProb = sqlite3LogEst(p->iTable) - 270;
  }else{
    pTerm->truthProb = 1;
  }







>







218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
      return 0;
    }
    memcpy(pWC->a, pOld, sizeof(pWC->a[0])*pWC->nTerm);
    if( pOld!=pWC->aStatic ){
      sqlite3DbFree(db, pOld);
    }
    pWC->nSlot = sqlite3DbMallocSize(db, pWC->a)/sizeof(pWC->a[0]);
    memset(&pWC->a[pWC->nTerm], 0, sizeof(pWC->a[0])*(pWC->nSlot-pWC->nTerm));
  }
  pTerm = &pWC->a[idx = pWC->nTerm++];
  if( p && ExprHasProperty(p, EP_Unlikely) ){
    pTerm->truthProb = sqlite3LogEst(p->iTable) - 270;
  }else{
    pTerm->truthProb = 1;
  }