Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Make sure lookaside memory allocations are unusable after they are freed. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
3869aef6348018f584137f36f6924193 |
User & Date: | drh 2012-05-21 16:59:16.604 |
Context
2012-05-21
| ||
21:26 | Merge the nested aggregate query fix (ticket [c2ad16f997ee9c8ed]) unto trunk. (check-in: e459c3360b user: drh tags: trunk) | |
19:11 | Convert the NameContext object from using u8 booleans to using individual bits in a single u8 as its booleans. This change might become a basis for a fix for [c2ad16f997ee9c]. (check-in: 7222609693 user: drh tags: nested-agg) | |
16:59 | Make sure lookaside memory allocations are unusable after they are freed. (check-in: 3869aef634 user: drh tags: trunk) | |
12:25 | Move some #defines earlier in the file for test_quota.c in order to avoid a use before definition. (check-in: fda1ea0bee user: drh tags: trunk) | |
Changes
Changes to src/malloc.c.
︙ | ︙ | |||
487 488 489 490 491 492 493 494 495 496 497 498 499 500 | if( db ){ if( db->pnBytesFreed ){ *db->pnBytesFreed += sqlite3DbMallocSize(db, p); return; } if( isLookaside(db, p) ){ LookasideSlot *pBuf = (LookasideSlot*)p; pBuf->pNext = db->lookaside.pFree; db->lookaside.pFree = pBuf; db->lookaside.nOut--; return; } } assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) ); | > > > > | 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 | if( db ){ if( db->pnBytesFreed ){ *db->pnBytesFreed += sqlite3DbMallocSize(db, p); return; } if( isLookaside(db, p) ){ LookasideSlot *pBuf = (LookasideSlot*)p; #if SQLITE_DEBUG /* Trash all content in the buffer being freed */ memset(p, 0xaa, db->lookaside.sz); #endif pBuf->pNext = db->lookaside.pFree; db->lookaside.pFree = pBuf; db->lookaside.nOut--; return; } } assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) ); |
︙ | ︙ |