summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Conway2009-09-12 23:20:52 +0000
committerJoe Conway2009-09-12 23:20:52 +0000
commit1384847ef8731718a79a32cd354e31c31c5294a0 (patch)
tree84a9de2347a2bc39b3b61fa2cf6d0af4d2dbe63e
parent4cc8eafb76b6de4bbb6740caebfe4c4c88a7ae10 (diff)
plug dblink resource leak
dblink generates orphaned connections when called with a connection string, fail_on_error = true, and an ERROR occurs. Discovery and patch by Tatsuhito Kasahara. Introduced in 8.4.
-rw-r--r--contrib/dblink/dblink.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/dblink/dblink.c b/contrib/dblink/dblink.c
index 83b334c4f6..72fdf56a71 100644
--- a/contrib/dblink/dblink.c
+++ b/contrib/dblink/dblink.c
@@ -855,9 +855,9 @@ dblink_record_internal(FunctionCallInfo fcinfo, bool is_async)
(PQresultStatus(res) != PGRES_COMMAND_OK &&
PQresultStatus(res) != PGRES_TUPLES_OK))
{
- dblink_res_error(conname, res, "could not execute query", fail);
if (freeconn)
PQfinish(conn);
+ dblink_res_error(conname, res, "could not execute query", fail);
MemoryContextSwitchTo(oldcontext);
SRF_RETURN_DONE(funcctx);
}