Skip to content

Commit 9003b76

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 887cdff commit 9003b76

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

contrib/dblink/dblink.c

+5
Original file line numberDiff line numberDiff line change
@@ -298,8 +298,13 @@ dblink_connect(PG_FUNCTION_ARGS)
298298
conname_or_str = text_to_cstring(PG_GETARG_TEXT_PP(0));
299299

300300
if (connname)
301+
{
301302
rconn = (remoteConn *) MemoryContextAlloc(TopMemoryContext,
302303
sizeof(remoteConn));
304+
rconn->conn = NULL;
305+
rconn->openCursorCount = 0;
306+
rconn->newXactForCursor = false;
307+
}
303308

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

0 commit comments

Comments
 (0)