From ffeb7001ebfaab34613ce604a509dfa1de193b80 Mon Sep 17 00:00:00 2001 From: Daniele Varrazzo Date: Mon, 26 Dec 2016 04:12:18 +0100 Subject: [PATCH] Fixed refcount problems in named callproc --- psycopg/cursor_type.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/psycopg/cursor_type.c b/psycopg/cursor_type.c index 66580ad5..baa5b8f7 100644 --- a/psycopg/cursor_type.c +++ b/psycopg/cursor_type.c @@ -1080,6 +1080,7 @@ psyco_curs_callproc(cursorObject *self, PyObject *args) if (!(scpnames[i] = psycopg_escape_identifier( self->conn, cpname, 0))) { + Py_CLEAR(pname); goto exit; } @@ -1131,12 +1132,12 @@ psyco_curs_callproc(cursorObject *self, PyObject *args) self, operation, pvals, self->conn->async, 0)) { /* The dict case is outside DBAPI scope anyway, so simply return None */ if (using_dict) { - Py_INCREF(Py_None); res = Py_None; } else { res = pvals; } + Py_INCREF(res); } exit: