[issue3885] errors on _bsddb creation and dealloc

Jesús Cea Avión report at bugs.python.org
Thu Sep 18 17:20:14 CEST 2008


Jesús Cea Avión <jcea at jcea.es> added the comment:

> Not only in these functions, but anywhere "dummy=" is followed by a
> Py_XDECREF(dummy);

Please, clarify this. I don't see your point.

> And code like this must also be changed (in DB_open):
>    if (makeDBError(err)) {
>        PyObject *dummy;
>
>        dummy=DB_close_internal(self,0);
>        Py_XDECREF(dummy);
>        return NULL;
>    }
> if DB_close_internal() raises an exception it will replace the
> original error set by makeDBError(). I'm not sure this is desirable.

I agree this could be an issue that need to be studied. Please, post a
new bug report for that (to be addressed in 2.6.1, I think, since this
issue doesn't crash the interpreter).

I post a patch for the bugs originally indicated in this bug report, an
another one (db.verify() regression).

*Please Review*. I will update python 2.6 svn when the review is done.
Thanks.

Added file: http://bugs.python.org/file11521/bsddb.patch

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue3885>
_______________________________________


More information about the Python-bugs-list mailing list