I have this trivial program: int main(int argc, char **argv) { lsm_db* db; lsm_new(lsm_default_env(), &db); lsm_open(db, "lsm"); lsm_cursor *csr; lsm_csr_open(db, &csr); lsm_csr_seek(csr, "a", 1, LSM_SEEK_GE); lsm_csr_seek(csr, "a", 1, LSM_SEEK_EQ); lsm_csr_seek(csr, "a", 1, LSM_SEEK_EQ); lsm_csr_close(csr); lsm_begin(db, 1); lsm_insert( db, "abc", 3, "def", 3 ); lsm_commit(db, 0); lsm_close(db); }
And I run it under valgrind with --leak-check=full it reports this: ==1741== 1,008 (112 direct, 896 indirect) bytes in 1 blocks are definitely lost in loss record 4 of 4 ==1741== at 0x4C28BED: malloc (vg_replace_malloc.c:263) ==1741== by 0x413D4B: lsmPosixOsMalloc (lsm_unix.c:472) ==1741== by 0x4046C5: lsmMallocZero (lsm_mem.c:50) ==1741== by 0x404730: lsmMallocZeroRc (lsm_mem.c:69) In a more complex program, lsm seems to leak memory to no bounds, causing my application. Are bug reports against LSM even helpful? Charles _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users