mirror of https://github.com/python/cpython.git
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:
parent
48796c3241
commit
692ca9a0cb
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue