diff options
-rw-r--r-- | Lib/bsddb/test/test_dbobj.py | 4 | ||||
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Modules/_bsddb.c | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/Lib/bsddb/test/test_dbobj.py b/Lib/bsddb/test/test_dbobj.py index 6799fc9c22..af494e19fd 100644 --- a/Lib/bsddb/test/test_dbobj.py +++ b/Lib/bsddb/test/test_dbobj.py @@ -69,6 +69,10 @@ class dbobjTestCase(unittest.TestCase): self.db.close() self.env.close() + def test03_dbobj_type_before_open(self): + # Ensure this doesn't cause a segfault. + self.assertRaises(db.DBInvalidArgError, db.DB().type) + #---------------------------------------------------------------------- def test_suite(): @@ -242,6 +242,8 @@ Extension Modules a2b_qp() function, instead leave it in the string as quopri.decode() does. +- Bug #1599782: Fix segfault on bsddb.db.DB().type(). + - Bug #1567666: Emulate GetFileAttributesExA for Win95. - Patch #1576166: Support os.utime for directories on Windows NT+. diff --git a/Modules/_bsddb.c b/Modules/_bsddb.c index 9be5c6aa42..e6046e7231 100644 --- a/Modules/_bsddb.c +++ b/Modules/_bsddb.c @@ -1779,9 +1779,7 @@ DB_get_type(DBObject* self, PyObject* args) return NULL; CHECK_DB_NOT_CLOSED(self); - MYDB_BEGIN_ALLOW_THREADS; type = _DB_get_type(self); - MYDB_END_ALLOW_THREADS; if (type == -1) return NULL; return PyInt_FromLong(type); |