python/dist/src/Modules _bsddb.c,1.28,1.29

Update of /cvsroot/python/python/dist/src/Modules In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19023/extsrc Modified Files: _bsddb.c Log Message: Fixes SF bug # 778421 * Fixed a bug in the compatibility interface set_location() method where it would not properly search to the next nearest key when used on BTree databases. [SF bug id 788421] * Fixed a bug in the compatibility interface set_location() method where it could crash when looking up keys in a hash or recno format database due to an incorrect free(). Index: _bsddb.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/_bsddb.c,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** _bsddb.c 20 Jan 2004 15:24:29 -0000 1.28 --- _bsddb.c 26 Feb 2004 10:07:14 -0000 1.29 *************** *** 98,102 **** #endif ! #define PY_BSDDB_VERSION "4.2.4" static char *rcs_id = "$Id$"; --- 98,102 ---- #endif ! #define PY_BSDDB_VERSION "4.2.5" static char *rcs_id = "$Id$"; *************** *** 2941,2945 **** break; } ! FREE_DBT(key); FREE_DBT(data); } --- 2941,2953 ---- break; } ! if (_DB_get_type(self->mydb) == DB_BTREE) { ! /* the only time a malloced key is returned is when we ! * call this on a BTree database because it performs ! * partial matching and needs to return the real key. ! * All others leave key untouched [where calling free() ! * on it would often segfault]. ! */ ! FREE_DBT(key); ! } FREE_DBT(data); }
participants (1)
-
gregļ¼ users.sourceforge.net