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;
if (conn_opts == NULL)
{
pg_log_error("could not parse connection string: %s", errmsg);
+ PQfreemem(errmsg);
return NULL;
}
+ buf = createPQExpBuffer();
i = 0;
for (conn_opt = conn_opts; conn_opt->keyword != NULL; conn_opt++)
{
{
pg_log_error("connection to database failed: %s",
PQerrorMessage(conn));
+ PQfinish(conn);
+
if (exit_on_error)
exit(1);
-
return NULL;
}
{
pg_log_error("could not clear search_path: %s",
PQresultErrorMessage(res));
+ PQclear(res);
+ PQfinish(conn);
+
if (exit_on_error)
exit(1);
-
return NULL;
}
PQclear(res);
failed = true;
}
+ pg_free(wal_level);
+
if (failed)
exit(1);
}
pg_log_error("could not create replication slot \"%s\" on database \"%s\": %s",
slot_name, dbinfo->dbname,
PQresultErrorMessage(res));
+ PQclear(res);
+ destroyPQExpBuffer(str);
return NULL;
}