]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix connection leak in dblink when dblink_connect() or dblink_connect_u()
authorItagaki Takahiro <itagaki.takahiro@gmail.com>
Wed, 9 Jun 2010 01:00:32 +0000 (01:00 +0000)
committerItagaki Takahiro <itagaki.takahiro@gmail.com>
Wed, 9 Jun 2010 01:00:32 +0000 (01:00 +0000)
end with "duplicate connection name" errors.

Backported to release 7.4.

contrib/dblink/dblink.c

index b239ba33163878156611978feef499ff47d67ea7..69997511abd7b179b1bc8c93b1c3209c1936c9eb 100644 (file)
@@ -2124,9 +2124,14 @@ createNewConnection(const char *name, remoteConn * con)
                                 errmsg("out of memory")));
 
        if (found)
+       {
+               PQfinish(rconn->conn);
+               pfree(rconn);
+
                ereport(ERROR,
                                (errcode(ERRCODE_DUPLICATE_OBJECT),
                                 errmsg("duplicate connection name")));
+       }
 
        hentry->rcon = con;
        strncpy(hentry->name, name, NAMEDATALEN - 1);