fix-some-issues-pg_createsubscriber.patch
application/octet-stream
Filename: fix-some-issues-pg_createsubscriber.patch
Type: application/octet-stream
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/bin/pg_basebackup/pg_createsubscriber.c | 5 | 2 |
diff --git a/src/bin/pg_basebackup/pg_createsubscriber.c b/src/bin/pg_basebackup/pg_createsubscriber.c
index a6e0986670..40a939f071 100644
--- a/src/bin/pg_basebackup/pg_createsubscriber.c
+++ b/src/bin/pg_basebackup/pg_createsubscriber.c
@@ -251,8 +251,8 @@ usage(void)
static char *
get_base_conninfo(const char *conninfo, char **dbname)
{
- PQExpBuffer buf = createPQExpBuffer();
- PQconninfoOption *conn_opts = NULL;
+ PQExpBuffer buf;
+ PQconninfoOption *conn_opts;
PQconninfoOption *conn_opt;
char *errmsg = NULL;
char *ret;
@@ -265,6 +265,7 @@ get_base_conninfo(const char *conninfo, char **dbname)
return NULL;
}
+ buf = createPQExpBuffer();
i = 0;
for (conn_opt = conn_opts; conn_opt->keyword != NULL; conn_opt++)
{
@@ -497,6 +498,7 @@ connect_database(const char *conninfo, bool exit_on_error)
{
pg_log_error("connection to database failed: %s",
PQerrorMessage(conn));
+ PQfinish(conn);
if (exit_on_error)
exit(1);
@@ -1209,6 +1211,7 @@ create_logical_replication_slot(PGconn *conn, struct LogicalRepInfo *dbinfo)
pg_log_error("could not create replication slot \"%s\" on database \"%s\": %s",
slot_name, dbinfo->dbname,
PQresultErrorMessage(res));
+ destroyPQExpBuffer(str);
return NULL;
}