diff options
Diffstat (limited to 'src/pl/plpython/plpy_spi.c')
-rw-r--r-- | src/pl/plpython/plpy_spi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/pl/plpython/plpy_spi.c b/src/pl/plpython/plpy_spi.c index a75839b93ea..cde3c08f967 100644 --- a/src/pl/plpython/plpy_spi.c +++ b/src/pl/plpython/plpy_spi.c @@ -340,7 +340,7 @@ PLy_spi_execute_query(char *query, long limit) int rv; volatile MemoryContext oldcontext; volatile ResourceOwner oldowner; - PyObject *ret; + PyObject *ret = NULL; oldcontext = CurrentMemoryContext; oldowner = CurrentResourceOwner; @@ -366,6 +366,7 @@ PLy_spi_execute_query(char *query, long limit) if (rv < 0) { + Py_XDECREF(ret); PLy_exception_set(PLy_exc_spi_error, "SPI_execute failed: %s", SPI_result_code_string(rv)); |