]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
plug dblink resource leak
authorJoe Conway <mail@joeconway.com>
Sat, 12 Sep 2009 23:21:13 +0000 (23:21 +0000)
committerJoe Conway <mail@joeconway.com>
Sat, 12 Sep 2009 23:21:13 +0000 (23:21 +0000)
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.

contrib/dblink/dblink.c

index 6f3cc71f166c301a150ef00456aa06f68219979e..b216f02fe471642053065d6ce602b94a91f6e82e 100644 (file)
@@ -8,7 +8,7 @@
  * Darko Prenosil <Darko.Prenosil@finteh.hr>
  * Shridhar Daithankar <shridhar_daithankar@persistent.co.in>
  *
- * $PostgreSQL: pgsql/contrib/dblink/dblink.c,v 1.82 2009/06/11 14:48:50 momjian Exp $
+ * $PostgreSQL: pgsql/contrib/dblink/dblink.c,v 1.82.2.1 2009/09/12 23:21:13 joe Exp $
  * Copyright (c) 2001-2009, PostgreSQL Global Development Group
  * ALL RIGHTS RESERVED;
  *
@@ -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);
                }