Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Avoid an assertion fault and/or freeing memory while it is still in use when an error occurs during virtual table construction. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
a02599ad85d02470c9effa51c02dbda7 |
User & Date: | drh 2012-10-09 14:36:47.262 |
References
2013-03-07
| ||
11:03 | Avoid an assertion fault and/or freeing memory while it is still in use when an error occurs during virtual table construction. Cherrypick of [a02599ad85d]. (check-in: 760072ceea user: dan tags: branch-3.7.14) | |
Context
2012-10-09
| ||
18:51 | Attempt to suppress warnings generated by Coverity. (check-in: 7b1a6e6cb5 user: drh tags: trunk) | |
14:58 | Merge the latest trunk changes, especially the ORDER BY optimizer enhancements but also other fixes, onto the sessions branch. (check-in: f1fbb8c5bf user: drh tags: sessions) | |
14:36 | Avoid an assertion fault and/or freeing memory while it is still in use when an error occurs during virtual table construction. (check-in: a02599ad85 user: drh tags: trunk) | |
09:26 | Bring some comments up to date in the query planner, and especially the ORDER BY optimizer. Also add testcase() macros. (check-in: bb5c0f1c92 user: drh tags: trunk) | |
Changes
Changes to src/vtab.c.
︙ | ︙ | |||
259 260 261 262 263 264 265 | ** in the list are moved to the sqlite3.pDisconnect list of the associated ** database connection. */ void sqlite3VtabClear(sqlite3 *db, Table *p){ if( !db || db->pnBytesFreed==0 ) vtabDisconnectAll(0, p); if( p->azModuleArg ){ int i; | < | | 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | ** in the list are moved to the sqlite3.pDisconnect list of the associated ** database connection. */ void sqlite3VtabClear(sqlite3 *db, Table *p){ if( !db || db->pnBytesFreed==0 ) vtabDisconnectAll(0, p); if( p->azModuleArg ){ int i; for(i=0; i<p->nModuleArg; i++){ if( i!=1 ) sqlite3DbFree(db, p->azModuleArg[i]); } sqlite3DbFree(db, p->azModuleArg); } } /* ** Add a new module argument to pTable->azModuleArg[]. |
︙ | ︙ |