Message32055
Sigh, 4.4.20 and 4.5.20 behave differently. I tested on both, but botched it. :-(
It seemed like a good idea to have at least one of the buildbots to use 4.5.20. I upgraded the g4 bot to 4.5.20, since that didn't have any version of bsddb on it. I also installed 4.4.20 on the amd64 buildbot. The x86 gentoo bot probably has 4.1, but it's down right now. Martin's machine has 4.2.
Both versions (4.4 and 4.5) require the flag DB_DBT_MALLOC (get() returns an error 22 otherwise). However only 4.4 actually allocates memory. 4.5 doesn't. I checked in revs 55457 (2.5) which should handle this better. Could someone please test and verify I really fixed the problem this time. If it's really fixed, close this bug report.
The real change is to conditionally free data if it is a different pointer than we pass in (orig_data). Don't free if they are the same pointer.
Tested 4.5 memory leaks with the leaks program and 4.4 with valgrind.
File Added: db.c |
|
Date |
User |
Action |
Args |
2007-08-23 14:53:49 | admin | link | issue1721309 messages |
2007-08-23 14:53:49 | admin | create | |
|