No description
I noticed while running the micropython testsuite under -fsanitize=address and valgrind that a memory leaks was reported with a stack trace like ``` 2,128 bytes in 1 blocks are definitely lost in loss record 1 of 1 at 0x48465EF: calloc (vg_replace_malloc.c:1328) by 0x62D6D2: mpool_open (mpool.c:67) by 0x614233: __bt_open (bt_open.c:300) by 0x450A1C: mod_btree_open (modbtree.c:416) ``` specifically in the case where lseek failed. By moving the lseek call to before the allocation of the MPOOL object, no new "free mp during error exit" code needed to be added. Signed-off-by: Jeff Epler <jepler@gmail.com> |
||
|---|---|---|
| btree | ||
| db | ||
| docs | ||
| hash | ||
| include/berkeley-db | ||
| man | ||
| mpool | ||
| recno | ||
| test | ||
| changelog | ||
| Makefile.inc | ||
| README | ||
| README.Impt.License.Change | ||
# @(#)README 8.27 (Berkeley) 9/1/94 This is version 1.85 of the Berkeley DB code. Newer versions of this software will periodically be made available by anonymous ftp from ftp.cs.berkeley.edu. An archive in compressed format is in ucb/4bsd/db.tar.Z, or in gzip format in ucb/4bsd/db.tar.gz. If you'd like to receive announcements of future releases of this software, send email to the contact address below. Email questions may be addressed to Keith Bostic at bostic@cs.berkeley.edu. ============================================ Distribution contents: Makefile.inc Ignore this, it's the 4.4BSD subsystem Makefile. README This file. btree The B+tree routines. changelog List of changes, per version. db The dbopen(3) interface routine. docs Various USENIX papers, and the formatted manual pages. hash The extended linear hashing routines. include The library header files. man The unformatted manual pages. mpool The memory pool routines. recno The fixed/variable length record routines. test Test package. ============================================ Debugging: If you're running a memory checker (e.g. Purify) on DB, make sure that you recompile it with "-DPURIFY" in the CFLAGS, first. By default, allocated pages are not initialized by the DB code, and they will show up as reads of uninitialized memory in the buffer write routines.