public inbox for [email protected]  
help / color / mirror / Atom feed
From: Daniel Gustafsson <[email protected]>
To: Mario González Troncoso <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: Possible replace of strncpy on xactdesc.c
Date: Mon, 6 Jul 2026 16:38:37 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAFsReFVjinOs0tqbb1C_LgSrpemDNgA3zQembNytOfJyaktHFw@mail.gmail.com>
References: <CAFsReFVjinOs0tqbb1C_LgSrpemDNgA3zQembNytOfJyaktHFw@mail.gmail.com>

> On 3 Jul 2026, at 05:47, Mario González Troncoso <[email protected]> wrote:

> I've been doing some research about if we could replace strncpy() in
> some code. It seems I found one and I'd like your opinion on it to
> determine if it's worth the change.
> 
> Basically what I found and IMO it's worth the change is on file xactdesc.c
> 
> diff --git a/src/backend/access/rmgrdesc/xactdesc.c
> b/src/backend/access/rmgrdesc/xactdesc.c
> index 4f53d3035cc..0f466a4c27c 100644
> --- a/src/backend/access/rmgrdesc/xactdesc.c
> +++ b/src/backend/access/rmgrdesc/xactdesc.c
> @@ -256,7 +256,7 @@ ParsePrepareRecord(uint8 info, xl_xact_prepare
> *xlrec, xl_xact_parsed_prepare *p
>        parsed->nabortstats = xlrec->nabortstats;
>        parsed->nmsgs = xlrec->ninvalmsgs;
> 
> -       strncpy(parsed->twophase_gid, bufptr, xlrec->gidlen);
> +       strlcpy(parsed->twophase_gid, bufptr, sizeof(parsed->twophase_gid));
>        bufptr += MAXALIGN(xlrec->gidlen);

As a general rule it's a good idea to replace strncpy with strlcpy.

> The other functions that are inside the file already use strlcpy() so
> maybe the use of current strncpy() on xactdesc.c is just code that
> comes from the refactor itself.

It was introduced in 1eb6d6527aae in twophase.c and then moved to xaxtdesc.c in
the above mentioned commit.

> I'll send a proper patch once some feedback is received but at least
> it's compiling and passing local tests.

Sounds good, please send a patch.

--
Daniel Gustafsson







view thread (7+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: Possible replace of strncpy on xactdesc.c
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox