| From: | Peter Smith <smithpb2250(at)gmail(dot)com> |
|---|---|
| To: | tianbing <tian_bing_0531(at)163(dot)com> |
| Cc: | Shubham Khanna <khannashubham1197(at)gmail(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Re: Add support for specifying tables in pg_createsubscriber. |
| Date: | 2025-12-04 02:16:35 |
| Message-ID: | CAHut+PvMPh-eDrW-ZzZYjomiH5N4Q8iwM9OXo1uCBfjHMZAdDw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Wed, Dec 3, 2025 at 4:47 PM tianbing <tian_bing_0531(at)163(dot)com> wrote:
>
> Hi, Peter,
> I have reviewed the v21 patch and noticed that there seems to be a memory leak.
>
> +static bool
> +check_publication_exists(PGconn *conn, const char *pubname, const char *dbname)
> +{
> + PGresult *res;
> + bool exists;
> + char *query;
> +
> + query = psprintf("SELECT 1 FROM pg_publication WHERE pubname = %s",
> + PQescapeLiteral(conn, pubname, strlen(pubname)));
> + res = PQexec(conn, query);
> +
> + if (PQresultStatus(res) != PGRES_TUPLES_OK)
> + pg_fatal("could not check for publication \"%s\" in database \"%s\": %s",
> + pubname, dbname, PQerrorMessage(conn));
> +
> + exists = (PQntuples(res) == 1);
> +
> + PQclear(res);
> + pg_free(query);
> + return exists;
> +}
>
> The PQescapeLiteral() function through malloc to allocate memmory,and should be free by PQfreemem。
>
> I suggest making the following modifications:
>
> + char *pub = PQescapeLiteral(conn, pubname, strlen(pubname);
> + query = psprintf("SELECT 1 FROM pg_publication WHERE pubname = %s", pub);
> ......
> + PQfreemem(pub);
>
Fixed in v22.
======
Kind Regards,
Peter Smith.
Fujitsu Australia
| Attachment | Content-Type | Size |
|---|---|---|
| v22-0001-Support-existing-publications-in-pg_createsubscr.patch | application/octet-stream | 14.0 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jelte Fennema-Nio | 2025-12-04 02:24:32 | Re: [PATCH] Add enable_copy_program GUC to control COPY PROGRAM |
| Previous Message | Amit Langote | 2025-12-04 02:06:20 | Re: Segmentation fault on proc exit after dshash_find_or_insert |