Rafa de la Torre <rto...@carto.com> writes: > exc = PyErr_NewException(exception_map[i].name, base, dict); > + Py_INCREF(exc); > PyModule_AddObject(mod, exception_map[i].classname, exc);
Hm. Seems like if this is a problem, the code for the other three exceptions is being a bit careless: it does do Py_INCREFs on them, but not soon enough to ensure no problems. Also, I wonder why that code checks for a null result from PyErr_NewException but this doesn't. Good catch though. A naive person would have assumed that PyModule_AddObject would increment the object's refcount, but the Python docs say "This steals a reference to value", which I guess must mean that the caller is required to do it. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers