[issue3885] errors on _bsddb creation and dealloc
Amaury Forgeot d'Arc
report at bugs.python.org
Thu Sep 18 18:10:22 CEST 2008
Amaury Forgeot d'Arc <amauryfa at gmail.com> 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.
If dummy is NULL, a pending exception has been set (with PyErr_SetString
or another similar function). If you simply ignore this, your function
will return a valid object, but PyErr_Occurred() returns True. This is
not correct and will fail in subtle ways (like with gc.collect()); in
debug mode, a message "XXX undetected error" is printed.
You must either clear the exception, or return NULL from your function.
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list