fixes pybsddb SF bug id 1215432. DB.associate() would crash when a

DBError was supposed to be raised.

needs backport to 2.4.x and possibly 2.3.x.
This commit is contained in:
Gregory P. Smith 2005-06-06 09:55:06 +00:00
parent 48796c3241
commit 692ca9a0cb
1 changed files with 3 additions and 5 deletions

View File

@ -1181,9 +1181,7 @@ DB_associate(DBObject* self, PyObject* args, PyObject* kwargs)
}
/* Save a reference to the callback in the secondary DB. */
if (self->associateCallback != NULL) {
Py_DECREF(self->associateCallback);
}
Py_XDECREF(secondaryDB->associateCallback);
Py_INCREF(callback);
secondaryDB->associateCallback = callback;
secondaryDB->primaryDBType = _DB_get_type(self);
@ -1217,8 +1215,8 @@ DB_associate(DBObject* self, PyObject* args, PyObject* kwargs)
MYDB_END_ALLOW_THREADS;
if (err) {
Py_DECREF(self->associateCallback);
self->associateCallback = NULL;
Py_XDECREF(secondaryDB->associateCallback);
secondaryDB->associateCallback = NULL;
secondaryDB->primaryDBType = 0;
}