Skip to content

Commit 43d3d73

Browse files
committed
Initialize dblink remoteConn struct in all cases
Two of the members of rconn were left uninitialized. When dblink_open() is called without an outer transaction it handles the initialization for us, but with an outer transaction it does not. Arrange for initialization in all cases. Backpatch to all supported versions. Reported-by: Alexander Lakhin Discussion: https://www.postgresql.org/message-id/flat/9bd0744f-5f04-c778-c5b3-809efe9c30c7%40joeconway.com#c545909a41664991aca60c4d70a10ce7
1 parent 2cbe3a9 commit 43d3d73

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

contrib/dblink/dblink.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,8 +272,13 @@ dblink_connect(PG_FUNCTION_ARGS)
272272
conname_or_str = text_to_cstring(PG_GETARG_TEXT_PP(0));
273273

274274
if (connname)
275+
{
275276
rconn = (remoteConn *) MemoryContextAlloc(TopMemoryContext,
276277
sizeof(remoteConn));
278+
rconn->conn = NULL;
279+
rconn->openCursorCount = 0;
280+
rconn->newXactForCursor = false;
281+
}
277282

278283
/* first check for valid foreign data server */
279284
connstr = get_connect_string(conname_or_str);

0 commit comments

Comments
 (0)