summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--psycopg/psycopgmodule.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/psycopg/psycopgmodule.c b/psycopg/psycopgmodule.c
index 737a781..c77dce5 100644
--- a/psycopg/psycopgmodule.c
+++ b/psycopg/psycopgmodule.c
@@ -234,13 +234,16 @@ psyco_register_type(PyObject *self, PyObject *args)
static void
psyco_libcrypto_threads_init(void)
{
+ PyObject *m;
+
/* importing the ssl module sets up Python's libcrypto callbacks */
- if (PyImport_ImportModule("ssl") != NULL) {
+ if ((m = PyImport_ImportModule("ssl"))) {
/* disable libcrypto setup in libpq, so it won't stomp on the callbacks
that have already been set up */
#if PG_VERSION_NUM >= 80400
PQinitOpenSSL(1, 0);
#endif
+ Py_DECREF(m);
}
else {
/* might mean that Python has been compiled without OpenSSL support,